Using joystick blocks network traffic
Hi,
It seems like my joystick and network conflict somehow! When I play a game with a joystick, I can see the network traffic stops almost instantly in kppp statistics. When I close the game (assuming I didn't wait too long), the network traffic will start up again. If I run the same games without the joystick disabled, the network traffic is fine. Even if my CPU usage is 99.9%, the network is fine. I have Athlon AMD 3400+, using slamd64-10.1. My joystick is on /dev/input/js0 and is a Gravis Gamepad Pro connected to a game port provided by a SB Live! Value PCI sound card. I access the network by using ppp-on or kppp through a US Robotics 56K External FAX serial modem. The games showing this problem include Snes9x and fceu (NES emulator). I though it was a problem with CPU load at first, so I looked at /etc/ppp/options (tried turning off all kinds of compression), /etc/ppp/pppscript (modem init string), setserial, kernel options. Nothing helped. |
Check the irqs and dma channels assigned to both your
modem and the USB hub. If they're the same, try changing one of them in the BIOS. Cheers, Tink |
Could the problem be USB related? The devices (modem, joystick) aren't using USB. My modem is connected with a serial cable, and the gamepad is connected to the PCI sound card.
The gameport/joystick is listed as this PCI device below . I tried setting latency with setpci to small values (8, then 2, then 0) thinking it would help stop hogging the system, but didn't make a difference. Bus 0, device 7, function 1: Class 0980: PCI device 1102:7002 (rev 8). Master Capable. Latency=32. I/O at 0xec00 [0xec07]. For some reason the gameport is never listed in /proc/interrupts, even when in use: Perhaps it uses IRQ 185 like the soundcard it's connected to. $ cat /proc/interrupts CPU0 0: 888299 IO-APIC-edge timer 1: 3859 IO-APIC-edge i8042 4: 43980 IO-APIC-edge serial 8: 0 IO-APIC-edge rtc 9: 1 IO-APIC-level acpi 12: 43263 IO-APIC-edge i8042 14: 12587 IO-APIC-edge ide0 15: 4692 IO-APIC-edge ide1 177: 0 IO-APIC-level uhci_hcd, uhci_hcd, uhci_hcd, uhci_hcd, ehci_hcd 185: 8033 IO-APIC-level EMU10K1 193: 53739 IO-APIC-level nvidia NMI: 131 LOC: 888118 ERR: 0 MIS: 0 $ cat /proc/pci PCI devices found: Bus 0, device 0, function 0: Class 0600: PCI device 1106:3188 (rev 1). Master Capable. Latency=8. Prefetchable 32 bit memory at 0xd0000000 [0xdfffffff]. Bus 0, device 1, function 0: Class 0604: PCI device 1106:b188 (rev 0). Master Capable. No bursts. Min Gnt=14. Bus 0, device 7, function 0: Class 0401: PCI device 1102:0002 (rev 8). IRQ 185. Master Capable. Latency=32. Min Gnt=2.Max Lat=20. I/O at 0xe800 [0xe81f]. Bus 0, device 7, function 1: Class 0980: PCI device 1102:7002 (rev 8). Master Capable. Latency=32. I/O at 0xec00 [0xec07]. Bus 0, device 15, function 0: Class 0101: PCI device 1106:0571 (rev 6). IRQ 169. Master Capable. Latency=32. I/O at 0xfc00 [0xfc0f]. Bus 0, device 16, function 0: Class 0c03: PCI device 1106:3038 (rev 129). IRQ 177. Master Capable. Latency=32. I/O at 0xd800 [0xd81f]. Bus 0, device 16, function 1: Class 0c03: PCI device 1106:3038 (rev 129). IRQ 177. Master Capable. Latency=32. I/O at 0xdc00 [0xdc1f]. Bus 0, device 16, function 2: Class 0c03: PCI device 1106:3038 (rev 129). IRQ 177. Master Capable. Latency=32. I/O at 0xe000 [0xe01f]. Bus 0, device 16, function 3: Class 0c03: PCI device 1106:3038 (rev 129). IRQ 177. Master Capable. Latency=32. I/O at 0xe400 [0xe41f]. Bus 0, device 16, function 4: Class 0c03: PCI device 1106:3104 (rev 134). IRQ 177. Master Capable. Latency=32. Non-prefetchable 32 bit memory at 0xcffffe00 [0xcffffeff]. Bus 0, device 17, function 0: Class 0601: PCI device 1106:3227 (rev 0). Bus 0, device 24, function 0: Class 0600: PCI device 1022:1100 (rev 0). Bus 0, device 24, function 1: Class 0600: PCI device 1022:1101 (rev 0). Bus 0, device 24, function 2: Class 0600: PCI device 1022:1102 (rev 0). Bus 0, device 24, function 3: Class 0600: PCI device 1022:1103 (rev 0). Bus 1, device 0, function 0: Class 0300: PCI device 10de:0330 (rev 161). IRQ 193. Master Capable. Latency=248. Min Gnt=5.Max Lat=1. Non-prefetchable 32 bit memory at 0xce000000 [0xceffffff]. Prefetchable 32 bit memory at 0xb0000000 [0xbfffffff]. |
I rebuilt my kernel with preempt options and experimental PNP ACPI support turned off. No change :(
Also, I noticed that just doing "cat /dev/input/js0" is enough to halt all network traffic... I think the serial port isn't being drained while the joystick is open. |
All times are GMT -5. The time now is 12:00 AM. |