Bug 9106
Summary: | Sun Fire v100 dmfe driver bug | ||
---|---|---|---|
Product: | Drivers | Reporter: | Kövedi Krisztián (kovedi) |
Component: | Network | Assignee: | Grant Grundler (grundler) |
Status: | CLOSED OBSOLETE | ||
Severity: | high | CC: | alan, grundler, kernel, kyle, oliver.pntr |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.22.9 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | Patch for linux-2.6.23 to add OpenFirmware support to drivers/net/tulip/dmfe.c |
Description
Kövedi Krisztián
2007-10-01 06:26:13 UTC
This dmesg lines are suspicous to me: > [ 67.614927] eth0: Davicom DM9102 at pci0000:00:0c.0, 00:00:00:00:00:00, > irq 9. > [ 67.640278] eth1: Davicom DM9102 at pci0000:00:05.0, 00:00:00:00:00:00, > irq 10. The MAC address is normally read from the EEPROM. But it's zero here which implies the read from SROM (aka EEPROM) failed. See this code in dmfe_init_one(): ... /* read 64 word srom data */ for (i = 0; i < 64; i++) ((__le16 *) db->srom)[i] = cpu_to_le16(read_srom_word(db->ioaddr, i)); /* Set Node address */ for (i = 0; i < 6; i++) dev->dev_addr[i] = db->srom[20 + i]; err = register_netdev (dev); ... Given this driver only seems to use IO Port space (and not MMIO), I'll rule out write posting issues. Exception might be if SPARC port doesn't fully adhere to non-postable semantics of in/outw Port space ops. Slightly more likely issue is endianess. Like PARISC, SPARC is big endian and the SROM is organized using 16-bit reads....but the data is zero'd, not byte swapped. I suggest you look for potential endian issues with control data. Note that outl/inl functions should be doing the endianess adjustment already (Big Endian CPU writing to a little endian bus device). Lastly, I wonder if adding a udelay(5) after line 1583 and/or 1596 would help: 1582 outl(CR9_SROM_READ, cr9_ioaddr); 1583 outl(CR9_SROM_READ | CR9_SRCS, cr9_ioaddr); 1584 1585 /* Send the Read Command 110b */ 1586 SROM_CLK_WRITE(SROM_DATA_1, cr9_ioaddr); 1587 SROM_CLK_WRITE(SROM_DATA_1, cr9_ioaddr); 1588 SROM_CLK_WRITE(SROM_DATA_0, cr9_ioaddr); 1589 1590 /* Send the offset */ 1591 for (i = 5; i >= 0; i--) { 1592 srom_data = (offset & (1 << i)) ? SROM_DATA_1 : SROM_DATA_0 ; 1593 SROM_CLK_WRITE(srom_data, cr9_ioaddr); 1594 } 1595 1596 outl(CR9_SROM_READ | CR9_SRCS, cr9_ioaddr); Both outl's are essentially "back to back" with the next outl after each one. All other outl()'s in that routine have a udelay(5) between them. I don't have any other brilliant ideas on what might be wrong. Please try the above and/or other ideas you might have by "modprobe", check output, rmmod if necessary and repeat with a newly compiled module. BTW, can you also post "lspci -vs 00:05.0" output? I'd like the entire output but am specifically looking for the subsystem vendor/device output to see if maybe this card has weird byte ordering just for Sun/SPARC market. here is the output lspci -vs 00:05.0 00:05.0 Ethernet controller: Davicom Semiconductor, Inc. 21x4x DEC-Tulip compatible 10/100 Ethernet (rev 31) Flags: bus master, medium devsel, latency 0, IRQ 0000000a I/O ports at 1fe02010100 [size=256] Memory at 1ff00002000 (32-bit, non-prefetchable) [size=8K] Expansion ROM at 1ff00080000 [disabled] [size=256K] Capabilities: [50] Power Management version 2 I try to use the udelay(5) after line 1583 and 1596 but the error coming again after reboot. the devices not have mac adresses [ 69.450854] eth0: Davicom DM9102 at pci0000:00:0c.0, 00:00:00:00:00:00, irq 9. [ 69.477577] eth1: Davicom DM9102 at pci0000:00:05.0, 00:00:00:00:00:00, irq 10. and always resetting the network devices. [ 84.923730] eth0: Tx timeout - resetting [ 86.923705] eth0: Tx timeout - resetting [ 88.923650] eth0: Tx timeout - resetting [ 90.923636] eth0: Tx timeout - resetting [ 92.923587] eth0: Tx timeout - resetting T try to use the tulip driver (device drivers --> Network Device Support --> Ethernet 10/100 --> Tulip Family network device support --> DECchip Tulip (dc2114x) PCI support) and after reboot the devices have MAC addresses and the network is alive but the connection are unstable. I see the ifconfig output many tx errors. ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:03:BA:35:40:90 inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:37450 errors:0 dropped:0 overruns:0 frame:0 TX packets:620 errors:35275 dropped:0 overruns:0 carrier:35275 collisions:0 txqueuelen:1000 RX bytes:48560063 (46.3 Mb) TX bytes:42188 (41.1 Kb) Interrupt:9 dmesg: [ 0.000000] PROMLIB: Sun IEEE Boot Prom 'OBP 4.0.18 2002/05/23 18:22' [ 0.000000] PROMLIB: Root node compatible: sun4u [ 0.000000] Linux version 2.6.22.9 (root@firewall) (gcc version 4.1.1 (Gentoo 4.1.1)) #1 Mon Nov 5 12:55:54 CET 2007 [ 0.000000] ARCH: SUN4U [ 0.000000] Ethernet address: 00:03:ba:35:40:90 [ 0.000000] PROM: Built device tree with 45147 bytes of memory. [ 0.000000] On node 0 totalpages: 130379 [ 0.000000] Normal zone: 3134 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 127245 pages, LIFO batch:15 [ 0.000000] Built 1 zonelists. Total pages: 127245 [ 0.000000] Kernel command line: root=/dev/hda1 ide=nodma [ 0.000000] ide_setup: ide=nodma : Prevented DMA [ 0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes) [ 67.512209] clocksource: mult[b40001] shift[16] [ 67.512226] clockevent: mult[16c16bf] shift[32] [ 67.513105] Console: colour dummy device 80x25 [ 67.518903] Dentry cache hash table entries: 131072 (order: 7, 1048576 bytes) [ 67.527063] Inode-cache hash table entries: 65536 (order: 6, 524288 bytes) [ 67.589185] Memory: 1026256k available (2408k kernel code, 832k data, 120k init) [fffff80000000000,00000000dfec8000] [ 67.732627] Calibrating delay using timer specific routine.. 11.12 BogoMIPS (lpj=55614) [ 67.732913] Mount-cache hash table entries: 512 [ 67.734635] NET: Registered protocol family 16 [ 67.743556] PCI: Probing for controllers. [ 67.746569] /pci@1f,0: SABRE PCI Bus Module [ 67.746606] /pci@1f,0: PCI IO[1fe02000000] MEM[1ff00000000] [ 67.746660] PCI: Scanning PBM /pci@1f,0 [ 67.747273] PCI quirk: region 2000-203f claimed by ali7101 ACPI [ 67.747288] PCI quirk: region 4000-401f claimed by ali7101 SMB [ 67.748989] isa0: [dma] [rtc -> (todm5819)] [power] [SUNW,lomh] [serial] [serial] [flashprom] [ 67.750313] ebus: No EBus's found. [ 67.750512] power: Control reg at 1fe02002000 ... powerd running. [ 67.754560] /pci@1f,0/isa@7/rtc@0,70: Clock regs at 000001fe02000070 [ 67.756098] NET: Registered protocol family 2 [ 67.762688] Time: hbtick clocksource has been installed. [ 67.762737] Switched to high resolution mode on CPU 0 [ 67.832853] IP route cache hash table entries: 8192 (order: 3, 65536 bytes) [ 67.833370] TCP established hash table entries: 32768 (order: 6, 524288 bytes) [ 67.836056] TCP bind hash table entries: 32768 (order: 5, 262144 bytes) [ 67.837491] TCP: Hash tables configured (established 32768 bind 32768) [ 67.837510] TCP reno registered [ 67.863998] Total HugeTLB memory allocated, 0 [ 67.864430] VFS: Disk quotas dquot_6.5.1 [ 67.864516] Dquot-cache hash table entries: 1024 (order 0, 8192 bytes) [ 67.864978] io scheduler noop registered [ 67.864993] io scheduler anticipatory registered (default) [ 67.865003] io scheduler deadline registered [ 67.865041] io scheduler cfq registered [ 67.865080] Activating ISA DMA hang workarounds. [ 67.875769] Real Time Clock Driver v1.12ac [ 67.876219] f0076e0c: ttyS0 at MMIO 0x1fe020003f8 (irq = 7) is a 16550A [ 67.876436] Console: ttyS0 (SU) [ 71.291767] f0078af8: ttyS1 at MMIO 0x1fe020002e8 (irq = 7) is a 16550A [ 71.382066] RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize [ 71.481840] loop: module loaded [ 71.523439] nbd: registered device at major 43 [ 71.585361] Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 [ 71.668965] ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx [ 71.774268] ALI15X3: IDE controller at PCI slot 0000:00:0d.0 [ 71.848611] PCI: Enabling device: (0000:00:0d.0), cmd 5 [ 71.848639] ALI15X3: chipset revision 195 [ 71.901289] ALI15X3: 100% native mode on irq 12 [ 71.960825] ide0: BM-DMA at 0x1fe02010220-0x1fe02010227, BIOS settings: hda:pio, hdb:pio [ 72.071879] ide1: BM-DMA at 0x1fe02010228-0x1fe0201022f, BIOS settings: hdc:pio, hdd:pio [ 72.182859] Probing IDE interface ide0... [ 72.482866] hda: WDC WD400BB-22DEA0, ATA DISK drive [ 73.263819] ide0 at 0x1fe02010200-0x1fe02010207,0x1fe0201021a on irq 12 [ 73.350965] Probing IDE interface ide1... [ 74.072822] hdd: CD-224E, ATAPI CD/DVD-ROM drive [ 74.192721] ide1 at 0x1fe02010210-0x1fe02010217,0x1fe0201020a on irq 12 [ 74.280091] hda: max request size: 128KiB [ 74.339966] hda: 78165360 sectors (40020 MB) w/2048KiB Cache, CHS=65535/16/63 [ 74.433775] hda: cache flushes not supported [ 74.489950] hda: hda1 hda2 hda3 [ 74.545437] hdd: ATAPI 24X CD-ROM drive, 128kB Cache [ 74.610614] Uniform CD-ROM driver Revision: 3.20 [ 74.674159] mice: PS/2 mouse device common for all mice [ 74.743278] input: Sparc ISA Speaker as /class/input/input0 [ 74.816730] GACT probability on [ 74.857939] Mirror/redirect action on [ 74.906299] netem: version 1.2 [ 74.946352] u32 classifier [ 74.981791] Performance counters on [ 75.032067] input device check on [ 75.081215] Actions configured [ 75.126943] Netfilter messages via NETLINK v0.30. [ 75.188722] nf_conntrack version 0.5.0 (4011 buckets, 32088 max) [ 75.268044] ctnetlink v0.93: registering with nfnetlink. [ 75.337853] IPv4 over IPv4 tunneling driver [ 75.393128] GRE over IPv4 tunneling driver [ 75.447571] ip_tables: (C) 2000-2006 Netfilter Core Team [ 75.517526] arp_tables: (C) 2002 David S. Miller [ 75.578162] TCP cubic registered [ 75.620494] Initializing XFRM netlink socket [ 75.676538] NET: Registered protocol family 1 [ 75.733768] NET: Registered protocol family 17 [ 75.792156] NET: Registered protocol family 15 [ 75.988741] kjournald starting. Commit interval 5 seconds [ 76.060775] EXT3-fs: mounted filesystem with ordered data mode. [ 76.138594] VFS: Mounted root (ext3 filesystem) readonly. [ 80.612932] Linux Tulip driver version 1.1.15-NAPI (Feb 27, 2007) [ 80.623719] tulip0: Old style EEPROM with no media selection information. [ 80.623979] tulip0: MII transceiver #1 config 3100 status 7829 advertising 01e1. [ 80.626917] eth0: Davicom DM9102/DM9102A rev 49 at MMIO 0x1ff00000000, EEPROM not present, 00:03:BA:35:40:90, IRQ 9. [ 80.637496] tulip1: Old style EEPROM with no media selection information. [ 80.637756] tulip1: MII transceiver #1 config 1000 status 7809 advertising 01e1. [ 80.640484] eth1: Davicom DM9102/DM9102A rev 49 at MMIO 0x1ff00002000, EEPROM not present, 00:03:BA:35:40:91, IRQ 10. [ 81.977325] EXT3 FS on hda1, internal journal [ 82.504362] Adding 50888k swap on /dev/hda2. Priority:-1 extents:1 across:50888k Created attachment 13432 [details]
Patch for linux-2.6.23 to add OpenFirmware support to drivers/net/tulip/dmfe.c
Patch for linux-2.6.23 to add OpenFirmware support to drivers/net/tulip/dmfe.c
Kövedi, thanks for trying the regular tulip driver. I suppose that could be hacked to support sparc64 as well but the phy support/initialization could get ugly. If you can sort that out, I'd be happy to review the patches. If you can enable more debugging/printk's, I'd also try to advise/help. This will be slow going though and you'll need lots of patience. If you might consider trying tulip again using IO port space instead of MMIO space. If that works better, I'd wonder if tulip still has MMIO write posting issues. I doubt it since tulip seems to work fine on ia64 and parisc - both have significant PCI write posting behaviors. But try IO Port space anyway (e.g. set TULIP_MMIO to N). I didn't realize the dmfe driver _never_ worked for Sun Fire V100. It couldn't have since it didn't have the required OpenFirmware support that tulip driver has. I've added that to linux-2.6.23 patch (diff-2.6.23-dmfe_openfirmware-01) and will attach that to this bug. I've not even compiled tested this since I don't have a sparc64 x-build env setup. Please try it and let me know how it goes. I apply the patch and booting up the new kernel. The patch is worked the devices are MAC addresses but the network is unworkable. And I see in the the dmesg output, the Tx timeout - resetting to exist. I try modprobe dmfe debug=1 but not print output. dmesg [ 0.000000] PROMLIB: Sun IEEE Boot Prom 'OBP 4.0.18 2002/05/23 18:22' [ 0.000000] PROMLIB: Root node compatible: sun4u [ 0.000000] Linux version 2.6.23 (root@firewall) (gcc version 4.1.1 (Gentoo 4.1.1)) #1 Wed Nov 7 12:51:45 CET 2007 [ 0.000000] ARCH: SUN4U [ 0.000000] Ethernet address: 00:03:ba:35:40:90 [ 0.000000] OF stdout device is: /pci@1f,0/isa@7/serial@0,3f8 [ 0.000000] PROM: Built device tree with 45403 bytes of memory. [ 0.000000] On node 0 totalpages: 130353 [ 0.000000] Normal zone: 3134 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 127219 pages, LIFO batch:15 [ 0.000000] Movable zone: 0 pages used for memmap [ 0.000000] Built 1 zonelists in Zone order. Total pages: 127219 [ 0.000000] Kernel command line: root=/dev/hda1 ide=nodma [ 0.000000] ide_setup: ide=nodma : Prevented DMA [ 0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes) [ 60.776498] clocksource: mult[b40001] shift[16] [ 60.776512] clockevent: mult[16c16bf] shift[32] [ 60.776638] Console: colour dummy device 80x25 [ 60.776651] console [tty0] enabled [ 60.782569] Dentry cache hash table entries: 131072 (order: 7, 1048576 bytes) [ 60.790765] Inode-cache hash table entries: 65536 (order: 6, 524288 bytes) [ 60.852215] Memory: 1026016k available (2536k kernel code, 928k data, 112k init) [fffff80000000000,00000000dfec8000] [ 60.852430] SLUB: Genslabs=23, HWalign=32, Order=0-2, MinObjects=8, CPUs=1, Nodes=1 [ 60.996962] Calibrating delay using timer specific routine.. 11.12 BogoMIPS (lpj=55621) [ 60.997253] Mount-cache hash table entries: 512 [ 60.999718] NET: Registered protocol family 16 [ 61.010451] PCI: Probing for controllers. [ 61.013487] /pci@1f,0: SABRE PCI Bus Module [ 61.013562] /pci@1f,0: PCI IO[1fe02000000] MEM[1ff00000000] [ 61.013640] PCI: Scanning PBM /pci@1f,0 [ 61.014266] PCI quirk: region 2000-203f claimed by ali7101 ACPI [ 61.014305] PCI quirk: region 4000-401f claimed by ali7101 SMB [ 61.016262] isa0: [dma] [rtc -> (todm5819)] [power] [SUNW,lomh] [serial] [serial] [flashprom] [ 61.017849] ebus: No EBus's found. [ 61.018086] power: Control reg at 1fe02002000 [ 61.022589] SCSI subsystem initialized [ 61.047743] /pci@1f,0/isa@7/rtc@0,70: Clock regs at 000001fe02000070 [ 61.049596] NET: Registered protocol family 2 [ 61.057052] Time: hbtick clocksource has been installed. [ 61.057117] Switched to high resolution mode on CPU 0 [ 61.137190] IP route cache hash table entries: 8192 (order: 3, 65536 bytes) [ 61.137690] TCP established hash table entries: 32768 (order: 6, 524288 bytes) [ 61.140459] TCP bind hash table entries: 32768 (order: 5, 262144 bytes) [ 61.141953] TCP: Hash tables configured (established 32768 bind 32768) [ 61.142005] TCP reno registered [ 61.167318] Mini RTC Driver [ 61.169121] Total HugeTLB memory allocated, 0 [ 61.184677] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254) [ 61.184747] io scheduler noop registered [ 61.184777] io scheduler anticipatory registered (default) [ 61.184809] io scheduler deadline registered [ 61.185371] io scheduler cfq registered [ 61.185434] Activating ISA DMA hang workarounds. [ 61.198529] f0076e0c: ttyS0 at MMIO 0x1fe020003f8 (irq = 7) is a 16550A [ 61.198790] Console: ttyS0 (SU) [ 61.198837] console [ttyS0] enabled [ 64.863599] f0078af8: ttyS1 at MMIO 0x1fe020002e8 (irq = 7) is a 16550A [ 64.951279] Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 [ 65.034747] ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx [ 65.140207] ALI15X3: IDE controller at PCI slot 0000:00:0d.0 [ 65.214617] PCI: Enabling device: (0000:00:0d.0), cmd 5 [ 65.214640] ALI15X3: chipset revision 195 [ 65.267290] ALI15X3: 100% native mode on irq 12 [ 65.326830] ide0: BM-DMA at 0x1fe02010220-0x1fe02010227, BIOS settings: hda:pio, hdb:pio [ 65.437897] ide1: BM-DMA at 0x1fe02010228-0x1fe0201022f, BIOS settings: hdc:pio, hdd:pio [ 65.548965] Probing IDE interface ide0... [ 65.857240] hda: WDC WD400BB-22DEA0, ATA DISK drive [ 66.638188] ide0 at 0x1fe02010200-0x1fe02010207,0x1fe0201021a on irq 12 [ 66.725271] Probing IDE interface ide1... [ 67.447191] hdd: CD-224E, ATAPI CD/DVD-ROM drive [ 67.567077] ide1 at 0x1fe02010210-0x1fe02010217,0x1fe0201020a on irq 12 [ 67.654616] hda: max request size: 128KiB [ 67.715395] hda: 78165360 sectors (40020 MB) w/2048KiB Cache, CHS=65535/16/63 [ 67.809131] hda: cache flushes not supported [ 67.865339] hda: hda1 hda2 hda3 [ 67.913224] hdd: ATAPI 24X CD-ROM drive, 128kB Cache [ 67.978398] Uniform CD-ROM driver Revision: 3.20 [ 68.043470] mice: PS/2 mouse device common for all mice [ 68.113622] input: Sparc ISA Speaker as /class/input/input0 [ 68.187277] GACT probability on [ 68.228569] Mirror/redirect action on [ 68.276610] Simple TC action Loaded [ 68.322840] netem: version 1.2 [ 68.362856] u32 classifier [ 68.398389] Performance counters on [ 68.448781] input device check on [ 68.498032] Actions configured [ 68.543862] Netfilter messages via NETLINK v0.30. [ 68.606005] nf_conntrack version 0.5.0 (8192 buckets, 32768 max) [ 68.685482] ctnetlink v0.93: registering with nfnetlink. [ 68.755381] IPv4 over IPv4 tunneling driver [ 68.810670] GRE over IPv4 tunneling driver [ 68.865174] ip_tables: (C) 2000-2006 Netfilter Core Team [ 68.935112] arp_tables: (C) 2002 David S. Miller [ 68.995772] TCP cubic registered [ 69.038519] NET: Registered protocol family 1 [ 69.095723] NET: Registered protocol family 17 [ 69.154118] NET: Registered protocol family 15 [ 69.231434] kjournald starting. Commit interval 5 seconds [ 69.303561] EXT3-fs: mounted filesystem with ordered data mode. [ 69.381378] VFS: Mounted root (ext3 filesystem) readonly. [ 73.551182] dmfe: Davicom DM9xxx net driver, version 1.36.4 (2002-01-17) [ 73.551917] eth0: Davicom DM9102 at pci0000:00:0c.0, 00:03:ba:35:40:90, irq 9. [ 73.552453] eth1: Davicom DM9102 at pci0000:00:05.0, 00:03:ba:35:40:91, irq 10. [ 74.741469] EXT3 FS on hda1, internal journal [ 75.263771] Adding 50888k swap on /dev/hda2. Priority:-1 extents:1 across:50888k [ 93.136560] eth0: Tx timeout - resetting [ 95.137569] eth0: Tx timeout - resetting [ 97.136492] eth0: Tx timeout - resetting [ 99.136448] eth0: Tx timeout - resetting [ 101.136420] eth0: Tx timeout - resetting [ 103.136401] eth0: Tx timeout - resetting [ 105.136347] eth0: Tx timeout - resetting [ 107.136325] eth0: Tx timeout - resetting [ 109.136280] eth0: Tx timeout - resetting [ 111.136244] eth0: Tx timeout - resetting [ 113.136210] eth0: Tx timeout - resetting [ 115.136191] eth0: Tx timeout - resetting [ 117.136149] eth0: Tx timeout - resetting [ 119.136129] eth0: Tx timeout - resetting [ 121.136078] eth0: Tx timeout - resetting [ 123.136049] eth0: Tx timeout - resetting [ 125.136014] eth0: Tx timeout - resetting [ 127.135982] eth0: Tx timeout - resetting [ 129.135952] eth0: Tx timeout - resetting [ 131.135912] eth0: Tx timeout - resetting [ 133.135884] eth0: Tx timeout - resetting [ 135.135848] eth0: Tx timeout - resetting [ 137.135819] eth0: Tx timeout - resetting [ 139.135793] eth0: Tx timeout - resetting [ 141.135747] eth0: Tx timeout - resetting [ 143.135715] eth0: Tx timeout - resetting [ 145.135694] eth0: Tx timeout - resetting [ 147.135651] eth0: Tx timeout - resetting [ 149.135613] eth0: Tx timeout - resetting [ 151.135576] eth0: Tx timeout - resetting [ 153.135544] eth0: Tx timeout - resetting [ 155.135516] eth0: Tx timeout - resetting [ 157.135480] eth0: Tx timeout - resetting [ 159.135450] eth0: Tx timeout - resetting [ 161.135411] eth0: Tx timeout - resetting [ 163.135377] eth0: Tx timeout - resetting [ 165.135348] eth0: Tx timeout - resetting [ 167.135307] eth0: Tx timeout - resetting [ 169.135294] eth0: Tx timeout - resetting Darn...but at least that fixes one problem. Thanks for testing the patch. Can you try the dmfe driver from 2.6.21? Probably want to apply the patch I proposed to 2.6.21.7 as well. I'm wondering if this bug is related to http://bugzilla.kernel.org/show_bug.cgi?id=9094 which claims 2.6.21.7 works but 2.6.22.9 does not. I apply the patch. firewall linux-2.6.21.7 # patch -p1 < bugfix patching file drivers/net/tulip/dmfe.c Hunk #1 succeeded at 315 (offset -4 lines). Hunk #2 succeeded at 458 (offset -2 lines). Hunk #3 succeeded at 479 (offset -2 lines). Hunk #4 succeeded at 1550 (offset -32 lines). Hunk #5 succeeded at 1589 (offset -32 lines). and booting up with the 2.6.21.7 kernel. The devices not have MAC addresses but the error message diferent as 2.6.23. [ 339.534350] SABRE0: PCI SERR signal asserted. [ 339.534383] SABRE0: PCI bus error, PCI_STATUS[eaa0] [ 342.532092] eth0: Tx timeout - resetting dmesg: [ 0.000000] PROMLIB: Sun IEEE Boot Prom 'OBP 4.0.18 2002/05/23 18:22' [ 0.000000] PROMLIB: Root node compatible: sun4u [ 0.000000] Linux version 2.6.21.7 (root@firewall) (gcc version 4.1.1 (Gentoo 4.1.1)) #1 Thu Nov 8 13:09:15 CET 2007 [ 0.000000] ARCH: SUN4U [ 0.000000] Ethernet address: 00:03:ba:35:40:90 [ 0.000000] PROM: Built device tree with 45147 bytes of memory. [ 0.000000] On node 0 totalpages: 130333 [ 0.000000] Normal zone: 3134 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 127199 pages, LIFO batch:15 [ 0.000000] CPU[0]: Caches D[sz(16384):line_sz(32)] I[sz(16384):line_sz(32)] E[sz(524288):line_sz(64)] [ 0.000000] Built 1 zonelists. Total pages: 127199 [ 0.000000] Kernel command line: root=/dev/hda1 ide=nodma [ 0.000000] ide_setup: ide=nodma : Prevented DMA [ 0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes) [ 57.465777] Console: colour dummy device 80x25 [ 57.471579] Dentry cache hash table entries: 131072 (order: 7, 1048576 bytes) [ 57.479723] Inode-cache hash table entries: 65536 (order: 6, 524288 bytes) [ 57.540846] Memory: 1033152k available (2624k kernel code, 856k data, 120k init) [fffff80000000000,00000000dfec8000] [ 57.684930] Calibrating delay using timer specific routine.. 11.11 BogoMIPS (lpj=55596) [ 57.685214] Mount-cache hash table entries: 512 [ 57.686923] NET: Registered protocol family 16 [ 57.695670] PCI: Probing for controllers. [ 57.698686] /pci@1f,0: SABRE PCI Bus Module [ 57.699417] PCI quirk: region 2000-203f claimed by ali7101 ACPI [ 57.699434] PCI quirk: region 4000-401f claimed by ali7101 SMB [ 57.701918] PCI0(PBMA): Bus running at 33MHz [ 57.702215] isa0: [dma] [rtc -> (todm5819)] [power] [SUNW,lomh] [serial] [serial] [flashprom] [ 57.703580] ebus: No EBus's found. [ 57.703774] power: Control reg at 1fe02002000 ... powerd running. [ 57.707883] usbcore: registered new interface driver usbfs [ 57.708083] usbcore: registered new interface driver hub [ 57.708322] usbcore: registered new device driver usb [ 57.709186] /pci@1f,0/isa@7/rtc@0,70: Clock regs at 000001fe02000070 [ 57.710687] NET: Registered protocol family 2 [ 57.775085] IP route cache hash table entries: 8192 (order: 3, 65536 bytes) [ 57.775595] TCP established hash table entries: 32768 (order: 6, 524288 bytes) [ 57.778294] TCP bind hash table entries: 32768 (order: 5, 262144 bytes) [ 57.779741] TCP: Hash tables configured (established 32768 bind 32768) [ 57.779762] TCP reno registered [ 57.806218] Total HugeTLB memory allocated, 0 [ 57.807178] io scheduler noop registered [ 57.807191] io scheduler anticipatory registered (default) [ 57.807201] io scheduler deadline registered [ 57.807240] io scheduler cfq registered [ 57.807281] Activating ISA DMA hang workarounds. [ 57.818167] Real Time Clock Driver v1.12ac [ 57.818600] f0076e0c: ttyS0 at MMIO 0x1fe020003f8 (irq = 7) is a 16550A [ 57.818818] Console: ttyS0 (SU) [ 61.106463] f0078af8: ttyS1 at MMIO 0x1fe020002e8 (irq = 7) is a 16550A [ 61.196738] RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize [ 61.296530] loop: loaded (max 8 devices) [ 61.348425] nbd: registered device at major 43 [ 61.410657] Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 [ 61.494140] ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx [ 61.599496] ALI15X3: IDE controller at PCI slot 0000:00:0d.0 [ 61.673914] ALI15X3: chipset revision 195 [ 61.726563] ALI15X3: 100% native mode on irq 12 [ 61.786111] ide0: BM-DMA at 0x1fe02010220-0x1fe02010227, BIOS settings: hda:pio, hdb:pio [ 61.897154] ide1: BM-DMA at 0x1fe02010228-0x1fe0201022f, BIOS settings: hdc:pio, hdd:pio [ 62.008112] Probing IDE interface ide0... [ 62.315076] hda: WDC WD400BB-22DEA0, ATA DISK drive [ 63.096003] ide0 at 0x1fe02010200-0x1fe02010207,0x1fe0201021a on irq 12 [ 63.183193] Probing IDE interface ide1... [ 63.905047] hdd: CD-224E, ATAPI CD/DVD-ROM drive [ 64.025529] ide1 at 0x1fe02010210-0x1fe02010217,0x1fe0201020a on irq 12 [ 64.113159] hda: max request size: 128KiB [ 64.177695] hda: 78165360 sectors (40020 MB) w/2048KiB Cache, CHS=65535/16/63 [ 64.271498] hda: cache flushes not supported [ 64.327651] hda: hda1 hda2 hda3 [ 64.386906] hdd: ATAPI 24X CD-ROM drive, 128kB Cache [ 64.452090] Uniform CD-ROM driver Revision: 3.20 [ 64.515238] ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver [ 64.515431] ohci_hcd 0000:00:0a.0: OHCI Host Controller [ 64.584301] ohci_hcd 0000:00:0a.0: new USB bus registered, assigned bus number 1 [ 64.681645] ohci_hcd 0000:00:0a.0: irq 11, io mem 0x1ff01000000 [ 64.819456] usb usb1: configuration #1 chosen from 1 choice [ 64.892875] hub 1-0:1.0: USB hub found [ 64.942094] hub 1-0:1.0: 2 ports detected [ 65.095494] mice: PS/2 mouse device common for all mice [ 65.164096] md: raid1 personality registered for level 1 [ 65.234163] device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel@redhat.com [ 65.345170] GACT probability on [ 65.386345] Mirror/redirect action on [ 65.434442] Simple TC action Loaded [ 65.480170] netem: version 1.2 [ 65.520272] u32 classifier [ 65.555696] Performance counters on [ 65.605994] input device check on [ 65.655141] Actions configured [ 65.700864] Netfilter messages via NETLINK v0.30. [ 65.762755] nf_conntrack version 0.5.0 (4038 buckets, 32304 max) [ 65.842068] ctnetlink v0.93: registering with nfnetlink. [ 65.911996] IPv4 over IPv4 tunneling driver [ 65.967385] GRE over IPv4 tunneling driver [ 66.021935] ip_tables: (C) 2000-2006 Netfilter Core Team [ 66.091972] arp_tables: (C) 2002 David S. Miller [ 66.152669] TCP cubic registered [ 66.195044] Initializing XFRM netlink socket [ 66.251181] NET: Registered protocol family 1 [ 66.308415] NET: Registered protocol family 17 [ 66.366806] NET: Registered protocol family 15 [ 66.425774] md: Autodetecting RAID arrays. [ 66.479547] md: autorun ... [ 66.516219] md: ... autorun DONE. [ 66.589233] kjournald starting. Commit interval 5 seconds [ 66.661315] EXT3-fs: mounted filesystem with ordered data mode. [ 66.739332] VFS: Mounted root (ext3 filesystem) readonly. [ 70.628187] dmfe: Davicom DM9xxx net driver, version 1.36.4 (2002-01-17) [ 70.653961] eth0: Davicom DM9102 at pci0000:00:05.0, 00:00:00:00:00:00, irq 10. [ 70.679450] eth1: Davicom DM9102 at pci0000:00:0c.0, 00:00:00:00:00:00, irq 9. [ 324.769733] EXT3 FS on hda1, internal journal [ 325.398969] Adding 50888k swap on /dev/hda2. Priority:-1 extents:1 across:50888k [ 339.534350] SABRE0: PCI SERR signal asserted. [ 339.534383] SABRE0: PCI bus error, PCI_STATUS[eaa0] [ 342.532092] eth0: Tx timeout - resetting [ 342.534448] SABRE0: PCI SERR signal asserted. [ 342.534469] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 344.532087] eth0: Tx timeout - resetting [ 344.534458] SABRE0: PCI SERR signal asserted. [ 344.534478] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 346.532050] eth0: Tx timeout - resetting [ 346.534420] SABRE0: PCI SERR signal asserted. [ 346.534441] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 348.532027] eth0: Tx timeout - resetting [ 348.534356] SABRE0: PCI SERR signal asserted. [ 348.534376] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 350.532005] eth0: Tx timeout - resetting [ 350.534316] SABRE0: PCI SERR signal asserted. [ 350.534334] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 352.531982] eth0: Tx timeout - resetting [ 352.534270] SABRE0: PCI SERR signal asserted. [ 352.534286] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 354.531960] eth0: Tx timeout - resetting [ 354.534227] SABRE0: PCI SERR signal asserted. [ 354.534241] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 356.531941] eth0: Tx timeout - resetting [ 356.534231] SABRE0: PCI SERR signal asserted. [ 356.534246] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 358.531926] eth0: Tx timeout - resetting [ 358.534266] SABRE0: PCI SERR signal asserted. [ 358.534283] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 360.531901] eth0: Tx timeout - resetting [ 360.534173] SABRE0: PCI SERR signal asserted. [ 360.534186] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 362.531882] eth0: Tx timeout - resetting [ 362.534157] SABRE0: PCI SERR signal asserted. [ 362.534173] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 364.531861] eth0: Tx timeout - resetting [ 364.534141] SABRE0: PCI SERR signal asserted. [ 364.534157] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 366.531841] eth0: Tx timeout - resetting [ 366.534115] SABRE0: PCI SERR signal asserted. [ 366.534130] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 368.531824] eth0: Tx timeout - resetting [ 368.534130] SABRE0: PCI SERR signal asserted. [ 368.534147] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 370.531800] eth0: Tx timeout - resetting [ 370.534069] SABRE0: PCI SERR signal asserted. [ 370.534083] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 372.531779] eth0: Tx timeout - resetting [ 372.534049] SABRE0: PCI SERR signal asserted. [ 372.534064] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 374.531760] eth0: Tx timeout - resetting [ 374.534032] SABRE0: PCI SERR signal asserted. [ 374.534047] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 376.531739] eth0: Tx timeout - resetting [ 376.534002] SABRE0: PCI SERR signal asserted. [ 376.534016] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 378.531723] eth0: Tx timeout - resetting [ 378.534005] SABRE0: PCI SERR signal asserted. [ 378.534021] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 380.531700] eth0: Tx timeout - resetting [ 380.533966] SABRE0: PCI SERR signal asserted. [ 380.533979] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 382.531680] eth0: Tx timeout - resetting [ 382.533948] SABRE0: PCI SERR signal asserted. [ 382.533962] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 384.531661] eth0: Tx timeout - resetting [ 384.533930] SABRE0: PCI SERR signal asserted. [ 384.533945] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 386.531640] eth0: Tx timeout - resetting [ 386.533907] SABRE0: PCI SERR signal asserted. [ 386.533920] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 388.531619] eth0: Tx timeout - resetting [ 388.533880] SABRE0: PCI SERR signal asserted. [ 388.533893] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 390.531599] eth0: Tx timeout - resetting [ 390.533861] SABRE0: PCI SERR signal asserted. [ 390.533875] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 392.531581] eth0: Tx timeout - resetting [ 392.533859] SABRE0: PCI SERR signal asserted. [ 392.533875] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 394.531560] eth0: Tx timeout - resetting [ 394.533820] SABRE0: PCI SERR signal asserted. [ 394.533833] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 396.531540] eth0: Tx timeout - resetting [ 396.533801] SABRE0: PCI SERR signal asserted. [ 396.533815] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 398.531521] eth0: Tx timeout - resetting [ 398.533791] SABRE0: PCI SERR signal asserted. [ 398.533806] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 400.531499] eth0: Tx timeout - resetting [ 400.533764] SABRE0: PCI SERR signal asserted. [ 400.533777] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 402.531480] eth0: Tx timeout - resetting [ 402.533738] SABRE0: PCI SERR signal asserted. [ 402.533751] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 404.531460] eth0: Tx timeout - resetting [ 404.533745] SABRE0: PCI SERR signal asserted. [ 404.533759] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 406.531440] eth0: Tx timeout - resetting [ 406.533707] SABRE0: PCI SERR signal asserted. [ 406.533721] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 408.531419] eth0: Tx timeout - resetting [ 408.533679] SABRE0: PCI SERR signal asserted. [ 408.533692] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 410.531403] eth0: Tx timeout - resetting [ 410.533672] SABRE0: PCI SERR signal asserted. [ 410.533687] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 412.531386] eth0: Tx timeout - resetting [ 412.533706] SABRE0: PCI SERR signal asserted. [ 412.533726] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 414.531369] eth0: Tx timeout - resetting [ 414.533736] SABRE0: PCI SERR signal asserted. [ 414.533756] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 416.531347] eth0: Tx timeout - resetting [ 416.533679] SABRE0: PCI SERR signal asserted. [ 416.533699] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 418.531325] eth0: Tx timeout - resetting [ 418.533599] SABRE0: PCI SERR signal asserted. [ 418.533615] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 420.531301] eth0: Tx timeout - resetting [ 420.533569] SABRE0: PCI SERR signal asserted. [ 420.533584] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 422.531284] eth0: Tx timeout - resetting [ 422.533593] SABRE0: PCI SERR signal asserted. [ 422.533610] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 424.531261] eth0: Tx timeout - resetting [ 424.533524] SABRE0: PCI SERR signal asserted. [ 424.533538] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 426.531241] eth0: Tx timeout - resetting [ 426.533505] SABRE0: PCI SERR signal asserted. [ 426.533518] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 428.531224] eth0: Tx timeout - resetting [ 428.533497] SABRE0: PCI SERR signal asserted. [ 428.533512] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 430.531202] eth0: Tx timeout - resetting [ 430.533465] SABRE0: PCI SERR signal asserted. [ 430.533479] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 432.531182] eth0: Tx timeout - resetting [ 432.533455] SABRE0: PCI SERR signal asserted. [ 432.533468] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 434.531161] eth0: Tx timeout - resetting [ 434.533439] SABRE0: PCI SERR signal asserted. [ 434.533453] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 436.531141] eth0: Tx timeout - resetting [ 436.533409] SABRE0: PCI SERR signal asserted. [ 436.533422] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 438.531124] eth0: Tx timeout - resetting [ 438.533399] SABRE0: PCI SERR signal asserted. [ 438.533413] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 440.531100] eth0: Tx timeout - resetting [ 440.533366] SABRE0: PCI SERR signal asserted. [ 440.533379] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 442.531079] eth0: Tx timeout - resetting [ 442.533341] SABRE0: PCI SERR signal asserted. [ 442.533355] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 444.531061] eth0: Tx timeout - resetting [ 444.533366] SABRE0: PCI SERR signal asserted. [ 444.533379] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 446.531041] eth0: Tx timeout - resetting [ 446.533306] SABRE0: PCI SERR signal asserted. [ 446.533320] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 448.531022] eth0: Tx timeout - resetting [ 448.533291] SABRE0: PCI SERR signal asserted. [ 448.533304] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 450.531003] eth0: Tx timeout - resetting [ 450.533269] SABRE0: PCI SERR signal asserted. [ 450.533283] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 452.530982] eth0: Tx timeout - resetting [ 452.533261] SABRE0: PCI SERR signal asserted. [ 452.533275] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 454.530962] eth0: Tx timeout - resetting [ 454.533228] SABRE0: PCI SERR signal asserted. [ 454.533241] SABRE0: PCI bus error, PCI_STATUS[caa0] [ 456.530940] eth0: Tx timeout - resetting [ 456.533200] SABRE0: PCI SERR signal asserted. [ 456.533213] SABRE0: PCI bus error, PCI_STATUS[caa0] I have a different architecture but I hope this could be of some help. Hardware: - Processor: CPU: Intel Celeron (Coppermine) stepping 03 ( from dmesg ) - Network: ( from lspci -v ) -- 00:0b.0 Ethernet controller: Davicom Semiconductor, Inc. 21x4x DEC-Tulip compatible 10/100 Ethernet (rev 10) Subsystem: Davicom Semiconductor, Inc. Unknown device 8212 Flags: bus master, medium devsel, latency 64, IRQ 11 I/O ports at de00 [size=128] Memory at efffaf80 (32-bit, non-prefetchable) [size=128] Expansion ROM at eff80000 [disabled] [size=256K] Capabilities: [50] Power Management version 1 -- OS: Arch Linux. When moving from Slackware to Arch, I started getting "eth0: Tx timeout - resetting" messages, every 2 seconds, rendering the network unusable. Starting from a non-working configuration [1], I configured the kernel in order to get a set of settings [2], similar to those used for Slackware's kernel [3]. With the kernel resulting from settings at [2] the network became usable again and dmfe driver no longer prints that message so frequently, as seen in the kernel log. ----- /var/log/kernel.log ----- Dec 30 16:59:36 myhost dmfe: Change Speed to 100Mhz full duplex Dec 30 17:16:45 myhost Clocksource tsc unstable (delta = 1092162184 ns) Dec 30 17:16:45 myhost Time: pit clocksource has been installed. Dec 30 17:41:20 myhost eth0: Tx timeout - resetting Dec 30 17:41:22 myhost dmfe: Change Speed to 100Mhz full duplex Dec 30 19:03:47 myhost eth0: Tx timeout - resetting Dec 30 19:03:49 myhost dmfe: Change Speed to 100Mhz full duplex ------------------------------- Here are the differences between the non-working .config and the working one. Unfortunately, there are some unrelated changes also. As they are also in the Sun config, my guess is the following changes are causing conflicts @@ -103,9 +101,9 @@ # # Processor type and features # -CONFIG_TICK_ONESHOT=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y +# CONFIG_TICK_ONESHOT is not set +# CONFIG_NO_HZ is not set +# CONFIG_HIGH_RES_TIMERS is not set # CONFIG_SMP is not set CONFIG_X86_PC=y # CONFIG_X86_ELAN is not set ----- config.diff ----- --- 2.6.23-TDMFE486.config 2007-12-30 15:42:30.000000000 -0300 +++ 2.6.23-TDMFE486b.config 2007-12-30 17:00:35.000000000 -0300 @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.23 -# Sat Dec 29 22:04:23 2007 +# Sun Dec 30 12:55:35 2007 # CONFIG_X86_32=y CONFIG_GENERIC_TIME=y @@ -28,7 +28,6 @@ # CONFIG_EXPERIMENTAL=y CONFIG_BROKEN_ON_SMP=y -CONFIG_LOCK_KERNEL=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_LOCALVERSION="-TDMFE486" CONFIG_LOCALVERSION_AUTO=y @@ -45,7 +44,7 @@ CONFIG_LOG_BUF_SHIFT=15 # CONFIG_FAIR_GROUP_SCHED is not set # CONFIG_SYSFS_DEPRECATED is not set -CONFIG_RELAY=y +# CONFIG_RELAY is not set CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set @@ -54,7 +53,6 @@ CONFIG_UID16=y CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set CONFIG_KALLSYMS_EXTRA_PASS=y CONFIG_HOTPLUG=y CONFIG_PRINTK=y @@ -78,14 +76,14 @@ CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set -CONFIG_MODVERSIONS=y +# CONFIG_MODVERSIONS is not set # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_KMOD=y CONFIG_BLOCK=y CONFIG_LBD=y -CONFIG_BLK_DEV_IO_TRACE=y +# CONFIG_BLK_DEV_IO_TRACE is not set CONFIG_LSF=y -CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSG is not set # # IO Schedulers @@ -103,9 +101,9 @@ # # Processor type and features # -CONFIG_TICK_ONESHOT=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y +# CONFIG_TICK_ONESHOT is not set +# CONFIG_NO_HZ is not set +# CONFIG_HIGH_RES_TIMERS is not set # CONFIG_SMP is not set CONFIG_X86_PC=y # CONFIG_X86_ELAN is not set @@ -160,10 +158,9 @@ CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_MINIMUM_CPU_FAMILY=4 CONFIG_HPET_TIMER=y -# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_NONE=y # CONFIG_PREEMPT_VOLUNTARY is not set -CONFIG_PREEMPT=y -CONFIG_PREEMPT_BKL=y +# CONFIG_PREEMPT is not set # CONFIG_X86_UP_APIC is not set # CONFIG_X86_MCE is not set CONFIG_VM86=y @@ -207,12 +204,12 @@ # CONFIG_MATH_EMULATION is not set CONFIG_MTRR=y # CONFIG_EFI is not set -# CONFIG_SECCOMP is not set +CONFIG_SECCOMP=y # CONFIG_HZ_100 is not set -# CONFIG_HZ_250 is not set -CONFIG_HZ_300=y +CONFIG_HZ_250=y +# CONFIG_HZ_300 is not set # CONFIG_HZ_1000 is not set -CONFIG_HZ=300 +CONFIG_HZ=250 CONFIG_KEXEC=y # CONFIG_CRASH_DUMP is not set CONFIG_PHYSICAL_START=0x100000 @@ -231,10 +228,11 @@ CONFIG_SUSPEND_UP_POSSIBLE=y CONFIG_SUSPEND=y CONFIG_HIBERNATION_UP_POSSIBLE=y -# CONFIG_HIBERNATION is not set +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="" CONFIG_ACPI=y CONFIG_ACPI_SLEEP=y -# CONFIG_ACPI_PROCFS is not set +CONFIG_ACPI_PROCFS=y CONFIG_ACPI_PROC_EVENT=y CONFIG_ACPI_AC=m CONFIG_ACPI_BATTERY=m @@ -247,22 +245,22 @@ CONFIG_ACPI_THERMAL=m CONFIG_ACPI_ASUS=m CONFIG_ACPI_TOSHIBA=m -CONFIG_ACPI_CUSTOM_DSDT_INITRD=y -CONFIG_ACPI_BLACKLIST_YEAR=0 +# CONFIG_ACPI_CUSTOM_DSDT_INITRD is not set +CONFIG_ACPI_BLACKLIST_YEAR=2001 # CONFIG_ACPI_DEBUG is not set CONFIG_ACPI_EC=y CONFIG_ACPI_POWER=y CONFIG_ACPI_SYSTEM=y CONFIG_X86_PM_TIMER=y CONFIG_ACPI_CONTAINER=m -CONFIG_ACPI_SBS=m +# CONFIG_ACPI_SBS is not set CONFIG_APM=y # CONFIG_APM_IGNORE_USER_SUSPEND is not set -CONFIG_APM_DO_ENABLE=y +# CONFIG_APM_DO_ENABLE is not set # CONFIG_APM_CPU_IDLE is not set # CONFIG_APM_DISPLAY_BLANK is not set # CONFIG_APM_ALLOW_INTS is not set -CONFIG_APM_REAL_MODE_POWER_OFF=y +# CONFIG_APM_REAL_MODE_POWER_OFF is not set # # CPU Frequency scaling @@ -282,7 +280,6 @@ CONFIG_PCI_MMCONFIG=y # CONFIG_PCIEPORTBUS is not set # CONFIG_ARCH_SUPPORTS_MSI is not set -# CONFIG_PCI_DEBUG is not set CONFIG_ISA_DMA_API=y CONFIG_ISA=y # CONFIG_EISA is not set @@ -299,8 +296,8 @@ # Executable file formats # CONFIG_BINFMT_ELF=y -CONFIG_BINFMT_AOUT=y -CONFIG_BINFMT_MISC=y +CONFIG_BINFMT_AOUT=m +CONFIG_BINFMT_MISC=m # # Networking @@ -327,7 +324,7 @@ CONFIG_IP_FIB_HASH=y CONFIG_IP_MULTIPLE_TABLES=y CONFIG_IP_ROUTE_MULTIPATH=y -# CONFIG_IP_ROUTE_VERBOSE is not set +CONFIG_IP_ROUTE_VERBOSE=y # CONFIG_IP_PNP is not set CONFIG_NET_IPIP=m CONFIG_NET_IPGRE=m @@ -345,8 +342,8 @@ # CONFIG_INET_XFRM_MODE_TRANSPORT is not set # CONFIG_INET_XFRM_MODE_TUNNEL is not set # CONFIG_INET_XFRM_MODE_BEET is not set -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y +CONFIG_INET_DIAG=m +CONFIG_INET_TCP_DIAG=m # CONFIG_TCP_CONG_ADVANCED is not set CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic" @@ -354,7 +351,7 @@ # CONFIG_IPV6 is not set # CONFIG_INET6_XFRM_TUNNEL is not set # CONFIG_INET6_TUNNEL is not set -CONFIG_NETLABEL=y +# CONFIG_NETLABEL is not set # CONFIG_NETWORK_SECMARK is not set # CONFIG_NETFILTER is not set # CONFIG_IP_DCCP is not set @@ -362,8 +359,8 @@ # CONFIG_SCTP_DBG_MSG is not set # CONFIG_SCTP_DBG_OBJCNT is not set # CONFIG_SCTP_HMAC_NONE is not set -CONFIG_SCTP_HMAC_SHA1=y -# CONFIG_SCTP_HMAC_MD5 is not set +# CONFIG_SCTP_HMAC_SHA1 is not set +CONFIG_SCTP_HMAC_MD5=y # CONFIG_TIPC is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set @@ -417,8 +414,6 @@ CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set # CONFIG_SYS_HYPERVISOR is not set CONFIG_CONNECTOR=m CONFIG_MTD=m @@ -493,8 +488,8 @@ CONFIG_PARPORT=m CONFIG_PARPORT_PC=m CONFIG_PARPORT_SERIAL=m -CONFIG_PARPORT_PC_FIFO=y -CONFIG_PARPORT_PC_SUPERIO=y +# CONFIG_PARPORT_PC_FIFO is not set +# CONFIG_PARPORT_PC_SUPERIO is not set # CONFIG_PARPORT_GSC is not set CONFIG_PARPORT_AX88796=m CONFIG_PARPORT_1284=y @@ -517,8 +512,8 @@ # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_CRYPTOLOOP=y +CONFIG_BLK_DEV_LOOP=m +CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_NBD=m # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_UB is not set @@ -768,7 +763,10 @@ # CONFIG_NET_VENDOR_RACAL is not set CONFIG_NET_TULIP=y CONFIG_DE2104X=m -# CONFIG_TULIP is not set +CONFIG_TULIP=m +# CONFIG_TULIP_MWI is not set +CONFIG_TULIP_MMIO=y +# CONFIG_TULIP_NAPI is not set # CONFIG_DE4X5 is not set # CONFIG_WINBOND_840 is not set CONFIG_DM9102=m @@ -812,8 +810,11 @@ CONFIG_PPP_MPPE=m CONFIG_PPPOE=m CONFIG_PPPOL2TP=m -# CONFIG_SLIP is not set +CONFIG_SLIP=m +CONFIG_SLIP_COMPRESSED=y CONFIG_SLHC=m +CONFIG_SLIP_SMART=y +# CONFIG_SLIP_MODE_SLIP6 is not set # CONFIG_NET_FC is not set # CONFIG_SHAPER is not set # CONFIG_NETCONSOLE is not set @@ -837,9 +838,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_JOYDEV=m -CONFIG_INPUT_TSDEV=m -CONFIG_INPUT_TSDEV_SCREEN_X=240 -CONFIG_INPUT_TSDEV_SCREEN_Y=320 +# CONFIG_INPUT_TSDEV is not set CONFIG_INPUT_EVDEV=m # CONFIG_INPUT_EVBUG is not set @@ -861,8 +860,8 @@ CONFIG_MOUSE_PS2_LIFEBOOK=y CONFIG_MOUSE_PS2_TRACKPOINT=y # CONFIG_MOUSE_PS2_TOUCHKIT is not set -CONFIG_MOUSE_SERIAL=y -CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_SERIAL=m +# CONFIG_MOUSE_APPLETOUCH is not set # CONFIG_MOUSE_INPORT is not set # CONFIG_MOUSE_LOGIBM is not set # CONFIG_MOUSE_PC110PAD is not set @@ -1055,7 +1054,6 @@ # SPI support # CONFIG_SPI=y -# CONFIG_SPI_DEBUG is not set CONFIG_SPI_MASTER=y # @@ -1892,50 +1890,22 @@ # CONFIG_ENABLE_MUST_CHECK is not set CONFIG_MAGIC_SYSRQ=y CONFIG_UNUSED_SYMBOLS=y -CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_FS is not set # CONFIG_HEADERS_CHECK is not set -CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_SHIRQ is not set -CONFIG_DETECT_SOFTLOCKUP=y -# CONFIG_SCHED_DEBUG is not set -# CONFIG_SCHEDSTATS is not set -CONFIG_TIMER_STATS=y +# CONFIG_DEBUG_KERNEL is not set # CONFIG_SLUB_DEBUG_ON is not set -# CONFIG_DEBUG_PREEMPT is not set -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_RT_MUTEX_TESTER is not set -# CONFIG_DEBUG_SPINLOCK is not set -CONFIG_DEBUG_MUTEXES=y -# CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_PROVE_LOCKING is not set -# CONFIG_LOCK_STAT is not set -# CONFIG_DEBUG_SPINLOCK_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_DEBUG_KOBJECT is not set -# CONFIG_DEBUG_HIGHMEM is not set CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_INFO is not set -# CONFIG_DEBUG_VM is not set -# CONFIG_DEBUG_LIST is not set -# CONFIG_FRAME_POINTER is not set -CONFIG_FORCED_INLINING=y -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_FAULT_INJECTION is not set CONFIG_EARLY_PRINTK=y -# CONFIG_DEBUG_STACKOVERFLOW is not set -# CONFIG_DEBUG_STACK_USAGE is not set -# CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_DEBUG_RODATA is not set -# CONFIG_4KSTACKS is not set CONFIG_DOUBLEFAULT=y # # Security options # CONFIG_KEYS=y -# CONFIG_KEYS_DEBUG_PROC_KEYS is not set +CONFIG_KEYS_DEBUG_PROC_KEYS=y CONFIG_SECURITY=y -# CONFIG_SECURITY_NETWORK is not set +CONFIG_SECURITY_NETWORK=y +CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_CAPABILITIES=m CONFIG_SECURITY_ROOTPLUG=m CONFIG_CRYPTO=y ------------------------------- --------------------------------------- [1] http://web.fi.uba.ar/~mnieto/dmfe/2.6.23-TDMFE486.config [2] http://web.fi.uba.ar/~mnieto/dmfe/2.6.23-TDMFE486b.config [3] http://packages.slackware.it/package.php?q=current/kernel-huge-2.6.23.12-i486-1 (In reply to comment #11) it was just a bad BIOS :S buggy ACPI support. (In reply to comment #11) > I have a different architecture but I hope this could be of some help. > > Hardware: > - Processor: CPU: Intel Celeron (Coppermine) stepping 03 ( from dmesg ) > - Network: ( from lspci -v ) > -- > 00:0b.0 Ethernet controller: Davicom Semiconductor, Inc. 21x4x DEC-Tulip > compatible 10/100 Ethernet (rev 10) > Subsystem: Davicom Semiconductor, Inc. Unknown device 8212 Diego, thanks for the additional info. I don't know if this is exactly the same bug as originally reported. The original bug report was for: 00:05.0 Ethernet controller: Davicom Semiconductor, Inc. 21x4x DEC-Tulip compatible 10/100 Ethernet (rev 31) Note the "rev 31" and and yours is reporting "rev 10". ... > Starting from a non-working configuration [1], I configured the kernel in > order > to get a set of settings [2], similar to those used for Slackware's kernel > [3]. > > With the kernel resulting from settings at [2] the network became usable > again > and dmfe driver no longer prints that message so frequently, as seen in the > kernel log. Can you attach the full kernel log (dmesg output since boot) please? (why I ask is explained below) I also need to know which kernel version you are using. The kernel log should tell me that as well. Was the .config file the only change? (ie built with the same tools and same source tree?) Sounded like it but I want to be sure. ... > @@ -768,7 +763,10 @@ > # CONFIG_NET_VENDOR_RACAL is not set > CONFIG_NET_TULIP=y > CONFIG_DE2104X=m > -# CONFIG_TULIP is not set > +CONFIG_TULIP=m > +# CONFIG_TULIP_MWI is not set > +CONFIG_TULIP_MMIO=y > +# CONFIG_TULIP_NAPI is not set dmfe and tulip driver are not related AFAICT except they are in the same "tulip" subdirectory. BUT, it's possible the tulip driver is being using instead of dmfe and it might work better for your particular card. dmesg output will confirm which driver was actually used. > # CONFIG_DE4X5 is not set > # CONFIG_WINBOND_840 is not set > CONFIG_DM9102=m DM9102 is the dmfe driver (just to avoid confusion). I don't expect any of the other config changes would affect the dmfe driver. thanks again for the report! grant (In reply to comment #12) > (In reply to comment #11) > it was just a bad BIOS :S buggy ACPI support. Ah OK! thanks...you can ignore my requests for dmesg log then. Original bug report: http://bugs.gentoo.org/show_bug.cgi?id=196426 I tried Debian on a V100 too and here are my experiences. First, I had to supply "dmfe.blacklist=1" to kernel command line to get it to use tulip driver. This worked fine, the tulip driver in 2.6.22 package worked and I finished my install successfully. Then upgraded to latest unstable and 2.6.24-1 packages also worked fine with tulip. Tried 2.6.25-rc7, with tulip and with dmfe (runtime unloaded tulip, loaded dmfe, got errors, unloaded dmfe and reloadid tulip to get my network back - so tulip could have initialized the hardware). Tulip worked, dmfe failed like described above (first no MAC and then Tx timeouts & reset). Tested 2.6.25-rc8-00208-g7180c4c with the openfirmware patch and with phy patch from http://iou.parisc-linux.org/~grundler/diff/diff-2.6.23-rc3-dmfe_phy-01 both applied. As expected, dmfe found the MAC address but it's still Tx timeouting: dmfe: Davicom DM9xxx net driver, version 1.36.4 (2002-01-17) eth0: Davicom DM9102 at pci0000:00:0c.0, 00:03:ba:11:b3:71, irq 9. eth1: Davicom DM9102 at pci0000:00:05.0, 00:03:ba:11:b3:72, irq 10. ADDRCONF(NETDEV_UP): eth0: link is not ready eth0: Tx timeout - resetting eth0: Tx timeout - resetting IRQ-s and MAC addresses are the same as working tulip gets: Linux Tulip driver version 1.1.15-NAPI (Feb 27, 2007) tulip0: Old style EEPROM with no media selection information. tulip0: MII transceiver #1 config 3100 status 7839 advertising 01e1. eth0: Davicom DM9102/DM9102A rev 49 at MMIO 0x1ff00000000, EEPROM not present, 00:03:ba:11:b3:71, IRQ 9. tulip1: Old style EEPROM with no media selection information. tulip1: MII transceiver #1 config 1000 status 7809 advertising 01e1. eth1: Davicom DM9102/DM9102A rev 49 at MMIO 0x1ff00002000, EEPROM not present, 00:03:ba:11:b3:72, IRQ 10. |