Reading geode.c it appears (at least to me) that the led devices are created for the WRAP.1C but not for the WRAP.1E.
Guessing from the dmesg output $ dmesg Copyright (c) 1992-2004 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.3-RELEASE #0: Sun Mar 20 17:12:36 CET 2005 [EMAIL PROTECTED]:/m0n0wall/kernels/wrap Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Geode(TM) Integrated Processor by National Semi (266.65-MHz 586-class CPU) Origin = "Geode by NSC" Id = 0x540 Stepping = 0 Features=0x808131<FPU,TSC,MSR,CX8,CMOV,MMX> real memory = 134217728 (128 MB) avail memory = 109277184 (104 MB) npx0: [FAST] npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> pcibus 0 on motherboard pci0: <PCI bus> on pcib0 sis0: <NatSemi DP8381[56] 10/100BaseTX> port 0x1000-0x10ff mem 0x80000000-0x80000fff irq 10 at device 14.0 on pci0 sis0: Silicon Revision: DP83816A miibus0: <MII bus> on sis0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto sis0: Ethernet address: 00:0d:b9:01:12:04 sis1: <NatSemi DP8381[56] 10/100BaseTX> port 0x1400-0x14ff mem 0x80040000-0x80040fff irq 9 at device 15.0 on pci0 sis1: Silicon Revision: DP83816A miibus1: <MII bus> on sis1 ukphy1: <Generic IEEE 802.3u media interface> on miibus1 ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto sis1: Ethernet address: 00:0d:b9:01:12:05 sis2: <NatSemi DP8381[56] 10/100BaseTX> port 0x1800-0x18ff mem 0x80080000-0x80080fff irq 11 at device 16.0 on pci0 sis2: Silicon Revision: DP83816A miibus2: <MII bus> on sis2 ukphy2: <Generic IEEE 802.3u media interface> on miibus2 ukphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto sis2: Ethernet address: 00:0d:b9:01:12:06 Geode GPIO@ = f400 isab0: <PCI-ISA bridge> port 0xf600-0xf63f,0xf400-0xf43f at device 18.0 on pci0 isa0: <ISA bus> on isab0 pci0: <bridge, PCI-unknown> at device 18.1 (no driver attached) atapci0: <National Geode SC1100 ATA33 controller> port 0xfc00-0xfc0f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 18.2 on pci0 ata0: channel #0 on atapci0 pci0: <multimedia, audio> at device 18.3 (no driver attached) * Geode CBA@ 0x9000 * Geode rev: 06 03 Timecounter "Geode" frequency 27000000 Hz quality 1000 pci0: <bridge, PCI-unknown> at device 18.5 (no driver attached) cpu0 on motherboard pmtimer0 on isa0 sio0 at port 0x3f8-0x3ff irq 4 flags 0x30 on isa0 sio0: type 16550A, console sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A Timecounters tick every 1.000 msec Fast IPsec: Initialized Security Association Processing. IP Filter: v3.4.35 initialized. Default = block all, Logging = enabled md0: Preloaded image </mfsroot> 16777216 bytes at 0xc0740624 ad0: FAILURE - SETFEATURES ENABLE RCACHE status=51<READY,DSC,ERROR> error=4<ABORTED> ad0: FAILURE - SETFEATURES DISABLE WCACHE status=51<READY,DSC,ERROR> error=4<ABORTED> ad0: 15MB <SanDisk SDCFB-16/Vdg 1.23> [490/2/32] at ata0-master PIO4 Mounting root from ufs:/dev/md0 ipfw2 initialized, divert disabled, rule-based forwarding enabled, default to accept, logging disabled I'd say the WRAP.1E has a PCI device ID 0x0515100b as it falls in the first if-branch of the following code (from geode.c): static int geode_probe(device_t self) { if (pci_get_devid(self) == 0x0515100b) { if (geode_counter == 0) { /* * The address of the CBA is written to this register * by the bios, see p161 in data sheet. */ cba = pci_read_config(self, 0x64, 4); printf("Geode CBA@ 0x%x\n", cba); geode_counter = cba + 0x08; outl(cba + 0x0d, 2); printf("Geode rev: %02x %02x\n", inb(cba + 0x3c), inb(cba + 0x3d)); tc_init(&geode_timecounter); EVENTHANDLER_REGISTER(watchdog_list, geode_watchdog, NULL, 0); } } else if (pci_get_devid(self) == 0x0510100b) { gpio = pci_read_config(self, PCIR_BAR(0), 4); gpio &= ~0x1f; printf("Geode GPIO@ = %x\n", gpio); if (NULL != bios_string(0xf0000, 0xf0100, "Soekris Engineering", 0)) { printf("Soekris Engineering NET4801 platform\n"); led1b = 20; led1 = led_create(led_func, &led1b, "error"); } else if (NULL != bios_string(0xf9000, 0xf9000, "PC Engines WRAP.1C ", 0)) { printf("PC Engines WRAP.1C platfrom\n"); led1b = -2; led2b = -3; led3b = -18; led1 = led_create(led_func, &led1b, "led1"); led2 = led_create(led_func, &led2b, "led2"); led3 = led_create(led_func, &led3b, "led3"); /* * Turn on first LED so we don't make people think * their box just died. */ led_func(&led1b, 1); } } return (ENXIO); } Reading the PC-Engines documentation it looks to me as WRAP.1C and WRAP1.E were identical when it comes to the LEDs, thus it would be nice to have the same entries in /dev. Anyone with a better understanding of this platform cares to comment on this? -- walter pelissero http://www.pelissero.de _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"