I have IBM PC 300GL that comes with ESS-1938 sound chip (recognized by kudzu as ESS-Solo 1 compatibile) on motherboard. It has also 10/100 EtherJet PCI adapter handled by eepro100 module. The box boots properly, mounts network disks and so on, everything is fine till I try, say, play /usr/share/sndconfig/audio.au Then the network stops responding. Ask for more information if needed.
What's the output of lspci -v?
Output of lspci -v is: 00:00.0 Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (rev 03) Flags: bus master, medium devsel, latency 32 Memory at ec000000 (32-bit, prefetchable) Capabilities: [a0] AGP version 1.0 00:01.0 PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 03) Flags: bus master, 66Mhz, medium devsel, latency 64 Bus: primary=00, secondary=01, subordinate=01, sec-latency=64 I/O behind bridge: 0000f000-00000fff Memory behind bridge: f4000000-f7ffffff Prefetchable memory behind bridge: eff00000-e00fffff 00:02.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02) Flags: bus master, medium devsel, latency 0 00:02.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01) (prog-if 80) Flags: bus master, medium devsel, latency 32 I/O ports at fff0 00:02.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) Flags: bus master, medium devsel, latency 48, IRQ 5 I/O ports at ff00 00:02.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 02) Flags: medium devsel 00:03.0 Multimedia audio controller: ESS Technology ESS 1969 Subsystem: Unknown device 1014:010c Flags: bus master, medium devsel, latency 16, IRQ 5 I/O ports at 7c30 I/O ports at 7c40 I/O ports at 7c50 I/O ports at 7c28 I/O ports at 7c2c Capabilities: [c0] Power Management version 1 00:12.0 Ethernet controller: Intel Corporation 82557 (rev 05) Subsystem: Unknown device 1014:005c Flags: bus master, medium devsel, latency 64, IRQ 11 Memory at f3eff000 (32-bit, prefetchable) I/O ports at 7c60 Memory at f3f00000 (32-bit, non-prefetchable) Capabilities: [dc] Power Management version 1 01:00.0 VGA compatible controller: S3 Inc.: Unknown device 8904 (rev 01) Subsystem: Unknown device 1014:00db Flags: bus master, medium devsel, latency 32, IRQ 9 Memory at f4000000 (32-bit, non-prefetchable) Capabilities: [44] Power Management version 1 Other comments: VGA is S3 Trio3D.
The network completely stops working after using the audio? That's really bizarre. Does it send packets? Does it still generate interrupts if you look at /proc/interrupts?
Yes, network completely stops responding. One cannot ping from the host, nor ping the host. Outputs of ifconfig and netstat -rn look fine. The interrupts are generated. % /sbin/lsmod Module Size Used by nfs 29656 3 (autoclean) lockd 30984 1 (autoclean) [nfs] sunrpc 52516 1 (autoclean) [nfs lockd] eepro100 12112 1 (autoclean) esssolo1 20004 0 (unused) soundcore 2372 4 [esssolo1] % /bin/cat /proc/interrupts CPU0 0: 91797 XT-PIC timer 1: 268 XT-PIC keyboard 2: 0 XT-PIC cascade 5: 0 XT-PIC ESS Solo1 8: 1 XT-PIC rtc 11: 17798 XT-PIC Intel EtherExpress Pro 10/100 Ethernet 12: 1259 XT-PIC PS/2 Mouse 13: 1 XT-PIC fpu 14: 12962 XT-PIC ide0 15: 5 XT-PIC ide1 NMI: 0 % play /usr/share/sndconfig/sample.au % /bin/cat /proc/interrupts CPU0 0: 96614 XT-PIC timer 1: 382 XT-PIC keyboard 2: 0 XT-PIC cascade 5: 328 XT-PIC ESS Solo1 8: 1 XT-PIC rtc 11: 19429 XT-PIC Intel EtherExpress Pro 10/100 Ethernet 12: 1259 XT-PIC PS/2 Mouse 13: 1 XT-PIC fpu 14: 13007 XT-PIC ide0 15: 5 XT-PIC ide1 NMI: 0 % /bin/cat /proc/interrupts CPU0 0: 99111 XT-PIC timer 1: 475 XT-PIC keyboard 2: 0 XT-PIC cascade 5: 328 XT-PIC ESS Solo1 8: 1 XT-PIC rtc 11: 19442 XT-PIC Intel EtherExpress Pro 10/100 Ethernet 12: 1259 XT-PIC PS/2 Mouse 13: 1 XT-PIC fpu 14: 13032 XT-PIC ide0 15: 5 XT-PIC ide1 NMI: 0
I should have added: host CAN ping itself, both via 127.0.0.1 and its IP number.
Does ifconfig show anything different before/after playing the sound? Do the packet counters increase?
The packet counters, collisions etc. get frozen after playing sound (except for TX packets).
Could you try recompiling the driver with #define DDMABASE_OFFSET 0x0 instead of 0x10?
THAT WAS THE HIT. The patched driver, with additionally changed DDMABASE_OFFSET, passed first tests, standard sample.au and some mp3 files, too. FYI: kernel logs message "PCI: Enabling bus mastering for device". Thanks for your help.
Applied as of the 2.2.15pre5 based kernel that will be in the next Raw Hide release.