At 02:04 AM 10/4/2007, Poul-Henning Kamp wrote: >In message <[EMAIL PROTECTED]>, >Andreas Wrede writes: > > >Under NetBSD -current, the controller reports Ultra-DMA mode 4 > >capability, the drive I have is Ultra-DMA mode 5 and they end up > >communicating at Ultra 4. Looks OK, if Ultra-DMA mode 4 (Ultra/66) is > >actually the top speed of the controller. > >Check the device driver. I've seen it do UDMA5 under FreeBSD with >this patch (currently in the release-engineers queue):
I tried this patch on RELENG_6 and it doesnt work for all flash cards. It seems it has something to do with whether or not the flash is detected as ad0 or ad1. If I use a lexar flash, it always comes up as ad1 on RELENG_6. The same flash on CURRENT however, comes up as ad0. But it does not work. If I use a SANDISK which comes up as ad0 on RELENG_6 and ad0 on CURRENT, your patch works on CURRENT and I can boot. Also the box still hangs if I type "reboot" from the loader prompt. Actually, if I type a bit (e.g. pause it, do an ls) and then wait a few seconds, the box will hang. ---Mike Trying to type in boot -v from the loader prompt gets hung up at OK boot -v SMAP type=01 base=0000000000000000 len=000000000009fc00 SMAP type=02 base=000000000009fc00 len=0000000000000400 SMAP type=02 base=00000000000f0000 len=0000000000010000 SMAP type=01 base=000000000010000 but putting it in /boot/loader.conf lets it boot ?!?! SMAP type=01 base=0000000000000000 len=000000000009fc00 SMAP type=02 base=000000000009fc00 len=0000000000000400 SMAP type=02 base=00000000000f0000 len=0000000000010000 SMAP type=01 base=0000000000100000 len=000000000ff00000 SMAP type=02 base=00000000fff00000 len=0000000000100000 Copyright (c) 1992-2007 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 is a registered trademark of The FreeBSD Foundation. FreeBSD 6.2-STABLE #1: Thu Oct 4 12:17:57 EDT 2007 [EMAIL PROTECTED]:/usr/obj/nanobsd.bulloch-soekris5501/usr/src/sys/nano5501 Preloaded elf kernel "/boot/kernel/kernel" at 0xc0718000. Calibrating clock(s) ... i8254 clock: 1193204 Hz CLK_USE_I8254_CALIBRATION not specified - using default frequency Timecounter "i8254" frequency 1193182 Hz quality 0 Calibrating TSC clock ... TSC clock: 433251412 Hz CPU: Geode(TM) Integrated Processor by AMD PCS (433.25-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x5a2 Stepping = 2 Features=0x88a93d<FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CLFLUSH,MMX> AMD Features=0xc0400000<MMX+,3DNow!+,3DNow!> Data TLB: 16 entries, fully associative Instruction TLB: 16 entries, fully associative L1 data cache: 64 kbytes, 32 bytes/line, 1 lines/tag, 16-way associative L1 instruction cache: 64 kbytes, 32 bytes/line, 1 lines/tag, 16-way associative L2 internal cache: 128 kbytes, 32 bytes/line, 1 lines/tag, 4-way associative Write Allocate Disable real memory = 268435456 (256 MB) Physical memory chunk(s): 0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages) 0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages) 0x0000000000825000 - 0x000000000fb3dfff, 254906368 bytes (62233 pages) avail memory = 257462272 (245 MB) bios32: Found BIOS32 Service Directory header at 0xc00fac00 bios32: Entry = 0xfac40 (c00fac40) Rev = 0 Len = 1 pcibios: PCI BIOS entry at 0xf0000+0xac61 Other BIOS signatures found: null: <null device, zero device> mem: <memory> K6-family MTRR support enabled (2 registers) nfslock: pseudo-device random: <entropy source, Software, Yarrow> io: <I/O> npx0: INT 16 interface cpu0 on motherboard pci_open(1): mode 1 addr port (0x0cf8) is 0x00000000 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 1 [class=060000] [hdr=80] is there (id=20801022) pcibios: BIOS version 2.01 pcib0: <Host to PCI bridge> pcibus 0 on motherboard pci0: <PCI bus> on pcib0 pci0: physical bus=0 found-> vendor=0x1022, dev=0x2080, revid=0x30 bus=0, slot=1, func=0 class=06-00-00, hdrtype=0x00, mfdev=1 cmdreg=0x0005, statreg=0x0220, cachelnsz=8 (dwords) lattimer=0xf8 (7440 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x1022, dev=0x2082, revid=0x00 bus=0, slot=1, func=2 class=10-10-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0220, cachelnsz=8 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 map[10]: type 1, range 32, base a0000000, size 14, enabled found-> vendor=0x1106, dev=0x3053, revid=0x96 bus=0, slot=6, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0117, statreg=0x0210, cachelnsz=8 (dwords) lattimer=0x40 (1920 ns), mingnt=0x03 (750 ns), maxlat=0x08 (2000 ns) intpin=a, irq=11 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 4, range 32, base 0000e100, size 8, enabled map[14]: type 1, range 32, base a0004000, size 8, enabled found-> vendor=0x1106, dev=0x3053, revid=0x96 bus=0, slot=7, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0117, statreg=0x0210, cachelnsz=8 (dwords) lattimer=0x40 (1920 ns), mingnt=0x03 (750 ns), maxlat=0x08 (2000 ns) intpin=a, irq=5 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 4, range 32, base 0000e200, size 8, enabled map[14]: type 1, range 32, base a0004100, size 8, enabled found-> vendor=0x1106, dev=0x3053, revid=0x96 bus=0, slot=8, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0117, statreg=0x0210, cachelnsz=8 (dwords) lattimer=0x40 (1920 ns), mingnt=0x03 (750 ns), maxlat=0x08 (2000 ns) intpin=a, irq=9 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 4, range 32, base 0000e300, size 8, enabled map[14]: type 1, range 32, base a0004200, size 8, enabled found-> vendor=0x1106, dev=0x3053, revid=0x96 bus=0, slot=9, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0117, statreg=0x0210, cachelnsz=8 (dwords) lattimer=0x40 (1920 ns), mingnt=0x03 (750 ns), maxlat=0x08 (2000 ns) intpin=a, irq=12 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 4, range 32, base 0000e400, size 8, enabled map[14]: type 1, range 32, base a0004300, size 8, enabled found-> vendor=0x12b9, dev=0x1008, revid=0x01 bus=0, slot=14, func=0 class=07-00-02, hdrtype=0x00, mfdev=0 cmdreg=0x0101, statreg=0x0210, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D2 D3 current D0 map[10]: type 4, range 32, base 0000e500, size 3, enabled found-> vendor=0x1415, dev=0x9501, revid=0x00 bus=0, slot=17, func=0 class=07-00-06, hdrtype=0x00, mfdev=1 cmdreg=0x0103, statreg=0x0290, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=15 powerspec 1 supports D0 D2 D3 current D0 map[10]: type 4, range 32, base 0000e520, size 5, enabled map[14]: type 1, range 32, base a0005000, size 12, enabled map[18]: type 4, range 32, base 0000e540, size 5, enabled map[1c]: type 1, range 32, base a0006000, size 12, enabled found-> vendor=0x1415, dev=0x9510, revid=0x00 bus=0, slot=17, func=1 class=06-80-00, hdrtype=0x00, mfdev=1 cmdreg=0x0103, statreg=0x0290, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=15 powerspec 1 supports D0 D2 D3 current D0 map[10]: type 4, range 32, base 0000e560, size 5, enabled map[14]: type 1, range 32, base a0007000, size 12, enabled map[18]: type 4, range 32, base 0000e580, size 5, enabled map[1c]: type 1, range 32, base a0008000, size 12, enabled found-> vendor=0x1022, dev=0x2090, revid=0x03 bus=0, slot=20, func=0 class=06-01-00, hdrtype=0x00, mfdev=1 cmdreg=0x0009, statreg=0x02a0, cachelnsz=8 (dwords) lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[10]: type 4, range 32, base 00006000, size 13, enabled map[14]: type 4, range 32, base 00006100, size 8, enabled map[18]: type 4, range 32, base 00006200, size 9, enabled found-> vendor=0x1022, dev=0x209a, revid=0x01 bus=0, slot=20, func=2 class=01-01-80, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x02a0, cachelnsz=8 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[20]: type 4, range 32, base 0000e000, size 4, enabled found-> vendor=0x1022, dev=0x2094, revid=0x02 bus=0, slot=21, func=0 class=0c-03-10, hdrtype=0x00, mfdev=1 cmdreg=0x0006, statreg=0x0230, cachelnsz=8 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=7 map[10]: type 1, range 32, base a0009000, size 12, enabled found-> vendor=0x1022, dev=0x2095, revid=0x02 bus=0, slot=21, func=1 class=0c-03-20, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0230, cachelnsz=8 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=7 map[10]: type 1, range 32, base a000a000, size 12, enabled Geode LX: Soekris net5501 comBIOS ver. 1.32h 20071004 Copyright (C) 2000-2007 MFGPT bar: f00100006200 pci0: <encrypt/decrypt, entertainment crypto> at device 1.2 (no driver attached) vr0: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe100-0xe1ff mem 0xa0004000-0xa00040ff irq 11 at device 6.0 on pci0 vr0: Reserved 0x100 bytes for rid 0x10 type 4 at 0xe100 miibus0: <MII bus> on vr0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: OUI 0x004063, model 0x0034, rev. 3 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto vr0: bpf attached vr0: Ethernet address: 00:00:24:c8:e6:50 vr0: [MPSAFE] vr1: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe200-0xe2ff mem 0xa0004100-0xa00041ff irq 5 at device 7.0 on pci0 vr1: Reserved 0x100 bytes for rid 0x10 type 4 at 0xe200 miibus1: <MII bus> on vr1 ukphy1: <Generic IEEE 802.3u media interface> on miibus1 ukphy1: OUI 0x004063, model 0x0034, rev. 3 ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto vr1: bpf attached vr1: Ethernet address: 00:00:24:c8:e6:51 vr1: [MPSAFE] vr2: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe300-0xe3ff mem 0xa0004200-0xa00042ff irq 9 at device 8.0 on pci0 vr2: Reserved 0x100 bytes for rid 0x10 type 4 at 0xe300 miibus2: <MII bus> on vr2 ukphy2: <Generic IEEE 802.3u media interface> on miibus2 ukphy2: OUI 0x004063, model 0x0034, rev. 3 ukphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto vr2: bpf attached vr2: Ethernet address: 00:00:24:c8:e6:52 vr2: [MPSAFE] vr3: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe400-0xe4ff mem 0xa0004300-0xa00043ff irq 12 at device 9.0 on pci0 vr3: Reserved 0x100 bytes for rid 0x10 type 4 at 0xe400 miibus3: <MII bus> on vr3 ukphy3: <Generic IEEE 802.3u media interface> on miibus3 ukphy3: OUI 0x004063, model 0x0034, rev. 3 ukphy3: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto vr3: bpf attached vr3: Ethernet address: 00:00:24:c8:e6:53 vr3: [MPSAFE] puc0: <US Robotics (3Com) 3CP5609 PCI 16550 Modem> port 0xe500-0xe507 irq 10 at device 14.0 on pci0 puc0: Reserved 0x8 bytes for rid 0x10 type 4 at 0xe500 sio4: <US Robotics (3Com) 3CP5609 PCI 16550 Modem> on puc0 sio4: type 16550A sio4: unable to activate interrupt in fast mode - using normal mode puc1: <Oxford Semiconductor OX16PCI954 UARTs> port 0xe520-0xe53f,0xe540-0xe55f mem 0xa0005000-0xa0005fff,0xa0006000-0xa0006fff irq 15 at device 17.0 on pci0 puc1: Reserved 0x20 bytes for rid 0x10 type 4 at 0xe520 sio5: <Oxford Semiconductor OX16PCI954 UARTs> on puc1 sio5: type 16550A sio5: unable to activate interrupt in fast mode - using normal mode sio6: <Oxford Semiconductor OX16PCI954 UARTs> on puc1 sio6: type 16550A sio6: unable to activate interrupt in fast mode - using normal mode sio7: <Oxford Semiconductor OX16PCI954 UARTs> on puc1 sio7: type 16550A sio7: unable to activate interrupt in fast mode - using normal mode sio8: <Oxford Semiconductor OX16PCI954 UARTs> on puc1 sio8: type 16550A sio8: unable to activate interrupt in fast mode - using normal mode pci0: <bridge> at device 17.1 (no driver attached) isab0: <PCI-ISA bridge> at device 20.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <AMD CS5536 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xe000-0xe00f at device 20.2 on pci0 atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0xe000 ata0: <ATA channel 0> on atapci0 atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0 atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6 ata0: reset tp1 mask=03 ostat0=60 ostat1=50 ata0: stat0=0x20 err=0x20 lsb=0x20 msb=0x20 ata0: stat1=0x50 err=0x01 lsb=0x00 msb=0x00 ata0: reset tp2 stat0=20 stat1=50 devices=0x2<ATA_SLAVE> ata0: [MPSAFE] ata1: <ATA channel 1> on atapci0 atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170 atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376 ata1: reset tp1 mask=00 ostat0=ff ostat1=ff ata1: [MPSAFE] ohci0: <OHCI (generic) USB controller> mem 0xa0009000-0xa0009fff irq 7 at device 21.0 on pci0 ohci0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xa0009000 ohci0: [GIANT-LOCKED] usb0: OHCI version 1.0, legacy support usb0: <OHCI (generic) USB controller> on ohci0 usb0: USB revision 1.0 uhub0: AMD OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 4 ports with 4 removable, self powered pci0: <serial bus, USB> at device 21.1 (no driver attached) pnp_identify: Trying Read_Port at 203 pnp_identify: Trying Read_Port at 243 pnp_identify: Trying Read_Port at 283 pnp_identify: Trying Read_Port at 2c3 pnp_identify: Trying Read_Port at 303 pnp_identify: Trying Read_Port at 343 pnp_identify: Trying Read_Port at 383 pnp_identify: Trying Read_Port at 3c3 PNP Identify complete ata: ata0 already exists; skipping it ata: ata1 already exists; skipping it isa_probe_children: disabling PnP devices isa_probe_children: probing non-PnP devices orm0: <ISA Option ROM> at iomem 0xc8000-0xd27ff on isa0 adv0: not probed (disabled) aha0: not probed (disabled) aic0: not probed (disabled) atkbdc0 failed to probe at port 0x60 on isa0 bt0: not probed (disabled) cs0: not probed (disabled) ed0: not probed (disabled) fdc0 failed to probe at port 0x3f0 irq 6 drq 2 on isa0 fe0: not probed (disabled) ie0: not probed (disabled) lnc0: not probed (disabled) ppc0 failed to probe at irq 7 on isa0 sc0 failed to probe on isa0 sio0: irq maps: 0x81 0x91 0x81 0x81 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A, console sio1: irq maps: 0x81 0x89 0x81 0x81 sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A sio2: not probed (disabled) sio3: not probed (disabled) sn0: not probed (disabled) vga0 failed to probe on isa0 vt0: not probed (disabled) isa_probe_children: probing PnP devices Device configuration finished. procfs registered Timecounter "TSC" frequency 433251412 Hz quality 800 Timecounters tick every 1.000 msec lo0: bpf attached pflog0: bpf attached ata0-slave: pio=PIO4 wdma=UNSUPPORTED udma=UNSUPPORTED cable=40 wire ad1: setting PIO4 on CS5536 chip ad1: 489MB <LEXAR ATA FLASH V1.02> at ata0-slave PIO4 ad1: 1001952 sectors [994C/16H/63S] 1 sectors/interrupt 1 depth queue GEOM: new disk ad1 Trying to mount root from ufs:/dev/ad1s1a Manual root filesystem specification: <fstype>:<device> Mount <device> using filesystem <fstype> eg. ufs:da0s1a ? List valid disk boot devices <empty line> Abort manual input mountroot> ? List of GEOM managed disk devices: ad1s4 ad1s3 ad1s2 ad1s1 ad1 Manual root filesystem specification: <fstype>:<device> Mount <device> using filesystem <fstype> eg. ufs:da0s1a ? List valid disk boot devices <empty line> Abort manual input mountroot> ufs:ad1s1a Trying to mount root from ufs:ad1s1a Manual root filesystem specification: <fstype>:<device> Mount <device> using filesystem <fstype> eg. ufs:da0s1a ? List valid disk boot devices <empty line> Abort manual input mountroot> ---Mike >Index: ata-chipset.c >=================================================================== >RCS file: /home/ncvs/src/sys/dev/ata/ata-chipset.c,v >retrieving revision 1.199 >diff -u -r1.199 ata-chipset.c >--- ata-chipset.c 10 Sep 2007 19:16:39 -0000 1.199 >+++ ata-chipset.c 3 Oct 2007 13:30:10 -0000 >@@ -1216,6 +1216,7 @@ > { ATA_AMD766, 0x00, AMDNVIDIA, AMDCABLE|AMDBUG, ATA_UDMA5, "766" }, > { ATA_AMD768, 0x00, AMDNVIDIA, AMDCABLE, ATA_UDMA5, "768" }, > { ATA_AMD8111, 0x00, AMDNVIDIA, AMDCABLE, ATA_UDMA6, "8111" }, >+ { ATA_AMD5536, 0x00, AMDNVIDIA, 0x00, ATA_UDMA5, "CS5536" }, > { 0, 0, 0, 0, 0, 0}}; > char buffer[64]; > >Index: ata-pci.h >=================================================================== >RCS file: /home/ncvs/src/sys/dev/ata/ata-pci.h,v >retrieving revision 1.78 >diff -u -r1.78 ata-pci.h >--- ata-pci.h 10 Sep 2007 19:16:39 -0000 1.78 >+++ ata-pci.h 3 Oct 2007 13:31:01 -0000 >@@ -86,6 +86,7 @@ > #define ATA_AMD766 0x74111022 > #define ATA_AMD768 0x74411022 > #define ATA_AMD8111 0x74691022 >+#define ATA_AMD5536 0x209a1022 > > #define ATA_ACER_LABS_ID 0x10b9 > #define ATA_ALI_1533 0x153310b9 > >-- >Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 >[EMAIL PROTECTED] | TCP/IP since RFC 956 >FreeBSD committer | BSD since 4.3-tahoe >Never attribute to malice what can adequately be explained by incompetence. >_______________________________________________ >Soekris-tech mailing list >Soekris-tech@lists.soekris.com >http://lists.soekris.com/mailman/listinfo/soekris-tech _______________________________________________ Soekris-tech mailing list Soekris-tech@lists.soekris.com http://lists.soekris.com/mailman/listinfo/soekris-tech