RESOLUTION: Hitachi flash misses a pull-up resistor, thus causes the CF module to wait for a nonexistent slave. The timeout below is not a software problem, nor really even a problem with the net45X1s. ORIGINAL MESSAGE: I'm experimenting with using a Soekris net4521 as a router. The custom kernel and minimal OpenBSD install I'm using is based on Chris Cappuccio's net4501 flashdist script (kernel and userland are from 22 August 2002). When I boot the net4521 off a KINGMAX KCF048M 48M flash card, a spurious wd1 drive is detected [1]. And, of course, wd1 isn't there when a read is attempted. (I haven't yet tried booting off my Kingston CF/128 flash card.) Workaround is simple, of course: just change wd to notice only channel 0, drive 0, either at boot time or in a new kernel. Does anyone have suggestions for a cleaner fix on the net4521, or want me to try anything else in case this is a more general detect problem? Richard ------- [1] =-=-=-=-=-=-=-=-=-= Kernel finds spurious wd1, times out when trying to read it. ------- comBIOS ver. 1.10 20020603 Copyright (C) 2000-2002 Soekris Engineering. Soekris Engineering net4501 CPU 80486 134 Mhz 0064 Mbyte Memory Primary Master Hitachi CV 7.2.2 47 Mbyte PXE-M00: BootManage UNDI, PXE-2.0 (build 082) Slot Vend Dev ClassRev Cmd Stat CL LT HT Base1 Base2 Int ------------------------------------------------------------------- 0:00:0 1022 3000 06000000 0006 2280 00 00 00 00000000 00000000 00 0:16:0 13A3 0012 0B400001 0116 0280 10 3C 00 A0000000 A0001000 10 0:17:0 104C AC51 06070000 0107 0210 10 3F 82 A0002000 020000A0 11 0:17:1 104C AC51 06070000 0107 0210 10 3F 82 A0003000 020000A0 11 0:18:0 100B 0020 02000000 0107 0290 00 3F 00 0000E101 A0004000 05 0:19:0 100B 0020 02000000 0107 0290 00 3F 00 0000E201 A0005000 09 1 Seconds to automatic boot. Press Ctrl-P for entering Monitor. Using Drive: 0 Partition: 3 reading boot.... probing: pc0 com0 com1 mem[639K 63M a20=on] disk: hd0 >> OpenBSD/i386 BOOT 1.29 switching console to com0 com0: changing speed to 19200 baud com0: change your terminal to match! com0: will change speed in 5 seconds.... com0: console is at 19200 baud boot> booting hd0a:/bsd: 1445888+45056+219720+[60384+72692]=0x2c2224 start=0xd0100020 entry point at 0x100020 [ using 133080 bytes of bsd a.out symbol table ] Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. Copyright (c) 1995-2002 OpenBSD. All rights reserved. http://www.OpenBSD.org OpenBSD 3.1-current (NET4521) #0: Tue Aug 27 21:00:50 MDT 2002 rjohnson@albion:/scratch/a/obsd/src-20020822/sys/arch/i386/compile/NET4521 cpu0: AMD Am486DX4 W/B or Am5x86 W/B 150 ("AuthenticAMD" 486-class) cpu0: FPU real mem = 66695168 (65132K) avail mem = 59777024 (58376K) using 839 buffers containing 3436544 bytes (3356K) of memory mainbus0 (root) bios0 at mainbus0: AT/286+(00) BIOS, date 20/20/03, BIOS32 rev. 0 @ 0xf00c0 pcibios0 at bios0: rev. 2.0 @ 0xf0000/0x10000 pcibios0: pcibios_get_intr_routing - function not supported pcibios0: PCI IRQ Routing information unavailable. pcibios0: PCI bus #2 is the last bus bios0: ROM list: 0xc8000/0xa000 pci0 at mainbus0 bus 0: configuration mode 1 (no bios) pchb0 at pci0 dev 0 function 0 "AMD ElanSC520 Host-PCI" rev 0x00 hifn0 at pci0 dev 16 function 0 "Hifn 7951" rev 0x01: 128KB sram, irq 10 cbb0 at pci0 dev 17 function 0 "Texas Instruments PCI1420 PCI-CardBus" rev 0x00: irq 11 cbb1 at pci0 dev 17 function 1 "Texas Instruments PCI1420 PCI-CardBus" rev 0x00: irq 11 sis0 at pci0 dev 18 function 0 "NS DP83815 10/100" rev 0x00: irq 5 address 00:00:24:c0:73:24 nsphyter0 at sis0 phy 0: DP83815 10/100 integrated, rev. 1 sis1 at pci0 dev 19 function 0 "NS DP83815 10/100" rev 0x00: irq 9 address 00:00:24:c0:73:25 nsphyter1 at sis1 phy 0: DP83815 10/100 integrated, rev. 1 cardslot0 at cbb0 slot 0 flags 0 cardbus0 at cardslot0: bus 1 device 0 cacheline 0x10, lattimer 0x3f pcmcia0 at cardslot0 cardslot1 at cbb1 slot 1 flags 0 cardbus1 at cardslot1: bus 2 device 0 cacheline 0x10, lattimer 0x3f pcmcia1 at cardslot1 isa0 at mainbus0 isadma0 at isa0 pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard wdc0 at isa0 port 0x1f0/8 irq 14 wd0 at wdc0 channel 0 drive 0: wd0: 1-sector PIO, LBA, 46MB, 738 cyl, 4 head, 32 sec, 94464 sectors wd1 at wdc0 channel 0 drive 1: wd1: 1-sector PIO, CHS, 68MB, 1024 cyl, 8 head, 17 sec, 139264 sectors wd0(wdc0:0:0): using BIOS timings wd1(wdc0:0:1): using BIOS timings npx0 at isa0 port 0xf0/16: using exception 16 pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo pccom0: console pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo biomask 4800 netmask 4e20 ttymask 4e22 dkcsum: wd0 matched BIOS disk 80 wd1(wdc0:0:1): timeout type: ata c_bcount: 512 c_skip: 0 =-=-=-=-=-=-=-=-=-= Success with wd change. ------- comBIOS ver. 1.10 20020603 Copyright (C) 2000-2002 Soekris Engineering. Soekris Engineering net4501 CPU 80486 134 Mhz 0064 Mbyte Memory Primary Master Hitachi CV 7.2.2 47 Mbyte PXE-M00: BootManage UNDI, PXE-2.0 (build 082) Slot Vend Dev ClassRev Cmd Stat CL LT HT Base1 Base2 Int ------------------------------------------------------------------- 0:00:0 1022 3000 06000000 0006 2280 00 00 00 00000000 00000000 00 0:16:0 13A3 0012 0B400001 0116 0280 10 3C 00 A0000000 A0001000 10 0:17:0 104C AC51 06070000 0107 0210 10 3F 82 A0002000 020000A0 11 0:17:1 104C AC51 06070000 0107 0210 10 3F 82 A0003000 020000A0 11 0:18:0 100B 0020 02000000 0107 0290 00 3F 00 0000E101 A0004000 05 0:19:0 100B 0020 02000000 0107 0290 00 3F 00 0000E201 A0005000 09 1 Seconds to automatic boot. Press Ctrl-P for entering Monitor. Using Drive: 0 Partition: 3 reading boot.... probing: pc0 com0 com1 mem[639K 63M a20=on] disk: hd0 >> OpenBSD/i386 BOOT 1.29 switching console to com0 com0: changing speed to 19200 baud com0: change your terminal to match! com0: will change speed in 5 seconds.... com0: console is at 19200 baud boot> -c [ using 133080 bytes of bsd a.out symbol table ] Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. Copyright (c) 1995-2002 OpenBSD. All rights reserved. http://www.OpenBSD.org OpenBSD 3.1-current (NET4521) #0: Tue Aug 27 21:00:50 MDT 2002 rjohnson@albion:/scratch/a/obsd/src-20020822/sys/arch/i386/compile/NET4521 cpu0: AMD Am486DX4 W/B or Am5x86 W/B 150 ("AuthenticAMD" 486-class) cpu0: FPU real mem = 66695168 (65132K) avail mem = 59777024 (58376K) using 839 buffers containing 3436544 bytes (3356K) of memory User Kernel Config UKC> change wd 1 wd* at wdc0 channel -1 drive -1 flags 0x0 change (y/n) ? channel [-1] ? 0 drive [-1] ? 0 flags [0] ? 1 wd* changed 1 wd* at wdc0 channel 0 drive 0 flags 0x0 UKC> quit Continuing... mainbus0 (root) bios0 at mainbus0: AT/286+(00) BIOS, date 20/20/03, BIOS32 rev. 0 @ 0xf00c0 pcibios0 at bios0: rev. 2.0 @ 0xf0000/0x10000 pcibios0: pcibios_get_intr_routing - function not supported pcibios0: PCI IRQ Routing information unavailable. pcibios0: PCI bus #2 is the last bus bios0: ROM list: 0xc8000/0xa000 pci0 at mainbus0 bus 0: configuration mode 1 (no bios) pchb0 at pci0 dev 0 function 0 "AMD ElanSC520 Host-PCI" rev 0x00 hifn0 at pci0 dev 16 function 0 "Hifn 7951" rev 0x01: 128KB sram, irq 10 cbb0 at pci0 dev 17 function 0 "Texas Instruments PCI1420 PCI-CardBus" rev 0x00: irq 11 cbb1 at pci0 dev 17 function 1 "Texas Instruments PCI1420 PCI-CardBus" rev 0x00: irq 11 sis0 at pci0 dev 18 function 0 "NS DP83815 10/100" rev 0x00: irq 5 address 00:00:24:c0:73:24 nsphyter0 at sis0 phy 0: DP83815 10/100 integrated, rev. 1 sis1 at pci0 dev 19 function 0 "NS DP83815 10/100" rev 0x00: irq 9 address 00:00:24:c0:73:25 nsphyter1 at sis1 phy 0: DP83815 10/100 integrated, rev. 1 cardslot0 at cbb0 slot 0 flags 0 cardbus0 at cardslot0: bus 1 device 0 cacheline 0x10, lattimer 0x3f pcmcia0 at cardslot0 cardslot1 at cbb1 slot 1 flags 0 cardbus1 at cardslot1: bus 2 device 0 cacheline 0x10, lattimer 0x3f pcmcia1 at cardslot1 isa0 at mainbus0 isadma0 at isa0 pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard wdc0 at isa0 port 0x1f0/8 irq 14 wd0 at wdc0 channel 0 drive 0: wd0: 1-sector PIO, LBA, 46MB, 738 cyl, 4 head, 32 sec, 94464 sectors drive at wdc0 channel 0 drive 1 not configured wd0(wdc0:0:0): using BIOS timings npx0 at isa0 port 0xf0/16: using exception 16 pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo pccom0: console pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo biomask 4800 netmask 4e20 ttymask 4e22 dkcsum: wd0 matched BIOS disk 80 root on wd0a rootdev=0x0 rrootdev=0x300 rawdev=0x302 ** /dev/rwd0a ** File system is clean; not checking mfs: mounting /tmp... mfs: populating /tmp... hostname: setting hostname to sample... inet: configuring IP on system interfaces... pf: configuring and enabling... pf enabled route: adding default route... add net default: gateway 192.168.131.45 ssh: starting daemon... OpenBSD/i386 (sample) (tty00) login: