[Soekris] Net4801 - FreeBSD 4.8

kfl kfl at xiphos.ca
Wed Aug 27 17:08:32 UTC 2003


> I suspect that there are some serious problems in the BIOS and the
> handling of the CF device.

	I really don't know but I just got it working with another flash card
(Note that the previous card was a Kingston 64/CF (slow one)):

comBIOS ver. 1.20  20030721  Copyright (C) 2000-2003 Soekris Engineering.


0128 Mbyte Memory                        CPU Geode 266 Mhz

Pri Mas  CF 128MB                        LBA 978-8-32  125 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 1078 0001 06000000 0107 0280 00 1F 00 00000000 00000000 00
0:06:0 100B 0020 02000000 0107 0290 00 3F 00 0000E101 A0000000 10
0:07:0 100B 0020 02000000 0107 0290 00 3F 00 0000E201 A0001000 10
0:08:0 100B 0020 02000000 0107 0290 00 3F 00 0000E301 A0002000 10
0:18:2 100B 0502 01018001 0005 0280 00 00 00 00000000 00000000 00
0:19:0 0E11 A0F8 0C031008 0117 0280 08 38 00 A0003000 00000000 11

 1 Seconds to automatic boot.   Press Ctrl-P for entering Monitor.
Console: internal video/keyboard
BIOS drive C: is disk0
BIOS 639kB/130048kB available memory

FreeBSD/i386 bootstrap loader, Revision 0.8
(kfl at flanders.xiphos.ca, Mon Aug 25 22:12:18 GMT 2003)
Loading /boot/defaults/loader.conf
/xiplink text=0x109a01 data=0x1968c+0x14b60 syms=[0x4+0x20330+0x4+0x25ba3]

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel]...
Copyright (c) 1992-2003 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 4.8-RELEASE #0: Tue Aug 26 17:12:11 EDT 2003
    root at tweety.xiphos.ca:/usr/home/kfl/dev/compile/Net4801
Timecounter "i8254"  frequency 1193246 Hz
CPU: Pentium (266.66-MHz 586-class CPU)
  Origin = "Geode by NSC"  Id = 0x540
real memory  = 134217728 (131072K bytes)
avail memory = 128073728 (125072K bytes)
Preloaded elf kernel "xiplink" at 0xc0280000.
md0: Malloc disk
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
sis0: <NatSemi DP83815 10/100BaseTX> port 0xe100-0xe1ff mem
0xa0000000-0xa0000fff irq 10 at device 6.0 on pci0
sis0: Ethernet address: 00:00:24:c1:33:c4
miibus0: <MII bus> on sis0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
sis1: <NatSemi DP83815 10/100BaseTX> port 0xe200-0xe2ff mem
0xa0001000-0xa0001fff irq 10 at device 7.0 on pci0
sis1: Ethernet address: 00:00:24:c1:33:c5
miibus1: <MII bus> on sis1
ukphy1: <Generic IEEE 802.3u media interface> on miibus1
ukphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
sis2: <NatSemi DP83815 10/100BaseTX> port 0xe300-0xe3ff mem
0xa0002000-0xa0002fff irq 10 at device 8.0 on pci0
sis2: Ethernet address: 00:00:24:c1:33:c6
miibus2: <MII bus> on sis2
ukphy2: <Generic IEEE 802.3u media interface> on miibus2
ukphy2:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
isab0: <PCI to ISA bridge (vendor=100b device=0510)> port
0x6200-0x623f,0x6100-0x613f at device 18.0 on pci0
isa0: <ISA bus> on isab0
chip1: <PCI to Other bridge (vendor=100b device=0511)> port 0x6300-0x63ff at
device 18.1 on pci0
atapci0: <Generic PCI ATA controller> port 0xe000-0xe00f at device 18.2 on
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
chip2: <PCI to Other bridge (vendor=100b device=0515)> port 0x6500-0x653f at
device 18.5 on pci0
pci0: <OHCI USB controller> at 19.0 irq 11
orm0: <Option ROM> at iomem 0xc8000-0xd1fff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
sio0 at port 0x3f8-0x3ff irq 4 flags 0x30 on isa0
sio0: type 16550A, console
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
IP packet filtering initialized, divert enabled, rule-based forwarding
enabled, default to accept, logging disabled
ad0: 122MB <CF 128MB> [978/8/32] at ata0-master PIO0
Mounting root from ufs:/dev/ad0a
Automatic boot in progress...
/dev/ad0a: clean, 49632 free (104 frags, 6191 blocks, 0.2% fragmentation)
+++ mfs_mount of /var
Warning: Block size restricts cylinders per group to 107.
+++ populate /var using /etc/mtree/BSD.var.dist
. changed
        permissions expected 0755 found 01777 modified
./account missing (created)
./at missing (created)


Something which is very interesting is that on the 'slow card' the ata
driver is setting the transfer mode to PIO2 while setting PIO0 on the 'fast
card'. I find this behavior to be rather erratic. It is unfortunate that
using 'hw.ata.ata_dma' and the like we can't force PIO0 on the driver at
boot. It would be interesting to see ... Although someone could hardcode it
in the kernel (I may try it later)...

It seems to me that the slow cards are very disatvantaged in FreeBSD on the
Net4x line. First I had this 1-sector boot problem and then this READ
timeout issue. The first problem could be resolved by patching the boot1,
boot2 and loader but the READ timeout problem ... Well is unsolved right
now. Although it is worth saying that both problems can be solved by using
'fast' cards.

So, while I cannot say that the BIOS is not part of the problem, I have
serious doubt about the ata driver.


Karim Fodil-Lemelin
Network Engineering.
Xiphos Technologies

More information about the Soekris-tech mailing list