Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
First off an intro, I have a computer which is running a custom cd distro, and connects to the internet through a usb isdn modem (it uses the cdc-acm module) with pppd. It has been working fine up until the well known cdc-acm troubles in the kernel since 2.6.8. I have now migrated it to 126.96.36.199 and the computer dials up fine but if it disconnects it then comes up with this when it tries to reconnect:
This used to mention PREEMT, so I removed preemption and it now shows the message you see above. Is this a pppd incompatability with the new kernel? Or is it something wrong in the kernel itself (given it's the only thing I have changed)?
Here's a list of the modules loaded BEFORE the crash happens, I will update this with another one after it happens again.
The output is copied straight from the logs, there isn't any other mention of anything going wrong - as in samba still works, networking still works...I can still play videos and things. Just pppd won't run anymore, and it won't allow me to unload the modules.
I can tell you how it happens though, i'll make a timeline..
1. It will be sitting on the net with pppd and chat running, with the modem on ttyACM0
2. Either the ISP will send a hangup to us (every 4 hours), OR the kernel (through electrical interference or otherwise) will detect or cause a usb hub timeout, which then re-initializes the modem as ttyACM1 (or ttyACM0 if the previous step finds it as ttyACM1...it swaps between the two)
3. Since pppd is set to persist, it should stay open and redial automatically if the modem hasn't changed ports.
*** This is where the problem happens. pppd used to continue trying the old port forever, so if it hadn't changed then it would reconnect. If the modem had changed ports, I was able to kill off pppd, change the port, and re-run it and everything would be back working.
Yet now if it gets disconnected from the other end or the usb has disconnected and reconnected the modem, it comes up with the kernel error, and pppd is killed off (presumably something to do with the error, rather than its own choice). I can't unload the modules, and if I re-run pppd it does run, but does not do anything and I am unable to kill it off at all. The only way out is to reset the machine.
Could it be a bug in the 188.8.131.52 kernel or cdc-acm module? or maybe mod-utils, or pppd? I have run ram tests and processor tests on the host computer, and tried re-compiling incase it was a buggy image, and even tried different cd's and different cd drives and everything checks out. The only software I have changed is the kernel.
Edit: Just had it happen 15 minutes ago, pppd quit and the usb disconnected the modem, but I was able to re-run pppd with no troubles. Might be slightly intermittent although It has happened every time over the past couple of days.
I am going ahead with the 184.108.40.206 kernel to see if that helps...will know late tonight and post if it's a success.
Last edited by lukebeales; 05-29-2005 at 12:12 AM.
Well the new kernel is in play (220.127.116.11), and just got the same problem. I'll post the logs below, they both overlap by the way (messages and syslog):
Jun 2 15:25:27 (none) kernel: hub 2-0:1.0: port 2 disabled by hub (EMI?), re-enabling...
Jun 2 15:25:28 (none) kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000
Jun 2 15:25:28 (none) kernel: printing eip:
Jun 2 15:25:28 (none) kernel: c020a8a2
Jun 2 15:25:28 (none) kernel: *pde = 00000000
Jun 2 15:25:28 (none) kernel: Oops: 0000 [#1]
Jun 2 15:25:28 (none) kernel: Modules linked in: bsd_comp ppp_deflate ppp_async ppp_generic slhc cdc_acm cifs smbfs parport_pc parport usblp 8139too tvaudio tuner bttv video_buf firmware_class i2c_algo_bit btcx_risc tveeprom i2c_core lirc_serial lirc_dev sermouse psmouse atkbd libps2 serport i8042 serio mousedev evdev usbhid usbserial uhci_hcd ohci_hcd ehci_hcd usbcore snd_seq_oss snd_seq_midi_event snd_seq snd_pcm_oss snd_mixer_oss snd_mpu401_uart snd_rawmidi snd_seq_device snd_intel8x0 snd_ac97_codec snd_pcm snd_timer snd_page_alloc snd soundcore pcspkr
Jun 2 15:25:28 (none) kernel: CPU: 0
Jun 2 15:25:29 (none) kernel: EIP: 0060:[<c020a8a2>] Tainted: GF VLI
Jun 2 15:25:29 (none) kernel: EFLAGS: 00010286 (18.104.22.168)
Jun 2 15:25:29 (none) kernel: eax: 00000000 ebx: 00000001 ecx: ffffffff edx: cb1420b8
Jun 2 15:25:29 (none) kernel: esi: ca8bca18 edi: 00000000 ebp: cb1420b8 esp: c57fcde0
Jun 2 15:25:29 (none) kernel: ds: 007b es: 007b ss: 0068
Jun 2 15:25:29 (none) kernel: Process pppd (pid: 2904, threadinfo=c57fc000 task=c32f5a00)
Jun 2 15:25:29 (none) kernel: Stack: ca8bca00 cb142094 c020a90e cb1420b8 000003ad ca8bca00 ca8bca18 cb142094
Jun 2 15:25:29 (none) kernel: 000003ad c02329c6 cb1420b8 000000d0 00000000 c952818c 00000000 00000000
Jun 2 15:25:29 (none) kernel: ca8bca00 c976a837 c976a853 c976a800 c020b275 c03c0500 c9528194 ca8bca18
Jun 2 15:25:29 (none) kernel: Call Trace:
Jun 2 15:25:29 (none) kernel: [<c020a90e>]
Jun 2 15:25:29 (none) kernel: [<c02329c6>]
Jun 2 15:25:29 (none) kernel: [<c020b275>]
Jun 2 15:25:29 (none) kernel: [<c020aba7>]
Jun 2 15:25:29 (none) kernel: [<c0232cfb>]
Jun 2 15:25:29 (none) kernel: [<c0232d1d>]
Jun 2 15:25:29 (none) kernel: [<d0a1f3a4>]
Jun 2 15:25:29 (none) kernel: [<c0221b92>]
Jun 2 15:25:29 (none) kernel: [<c010d8ff>]
Jun 2 15:25:29 (none) kernel: [<c0110029>]
Jun 2 15:25:29 (none) kernel: [<c011164b>]
Jun 2 15:25:29 (none) kernel: [<c03464c8>]
Jun 2 15:25:29 (none) kernel: [<c010c6ae>]
Jun 2 15:25:29 (none) kernel: [<c0345e9d>]
Jun 2 15:25:29 (none) kernel: [<c0142804>]
Jun 2 15:25:29 (none) kernel: [<c0222392>]
Jun 2 15:25:29 (none) kernel: [<c01360f9>]
Jun 2 15:25:29 (none) kernel: [<c0134f63>]
Jun 2 15:25:29 (none) kernel: [<c0134faf>]
Jun 2 15:25:29 (none) kernel: [<c0101e57>]
Jun 2 15:25:29 (none) kernel: Code: 56 e8 93 ff ff ff 89 c3 58 85 db 74 07 56 e8 4f 57 f5 ff 5e 89 d8 5b 5e c3 57 53 8b 54 24 0c bb 01 00 00 00 8b 3a 31 c0 83 c9 ff <f2> ae f7 d1 49 8b 52 24 8d 5c 0b 01 85 d2 75 e9 89 d8 5b 5f c3
Jun 2 15:18:49 (none) -- MARK --
Jun 2 15:25:27 (none) kernel: usb 2-2: USB disconnect, address 2
Jun 2 15:25:27 (none) pppd: Hangup (SIGHUP)
Jun 2 15:25:27 (none) pppd: Modem hangup
Jun 2 15:25:27 (none) pppd: Connect time 84.4 minutes.
Jun 2 15:25:27 (none) pppd: Sent 13655914 bytes, received 46880023 bytes.
Jun 2 15:25:27 (none) pppd: Connection terminated.
Jun 2 15:25:27 (none) kernel: usb 2-2: new full speed USB device using uhci_hcd and address 3
Jun 2 15:25:27 (none) kernel: cdc_acm 2-2:1.0: ttyACM1: USB ACM device
Jun 2 15:26:12 (none) pppd: pppd 2.4.3 started by root, uid 0
Jun 2 15:26:12 (none) pppd: Removed stale lock on input_ttyACM0 (pid 2904)
The very first line (Jun 2 15:25:27 (none) kernel: hub 2-0:1.0: port 2 disabled by hub (EMI?), re-enabling...) seems to be caused either by the thing timing out on its own, or sometimes by people switching lights on/off and fan switches. This last problem was a fan switch. I believe it's possible to disconnect the usb cable and reconnect it manually without any problems, but I will test that another time.
The problem is that when pppd tries to connect after this glitch, it runs and then freezes, with no way to kill it. The cdc_acm module will not unload either - the only way out is a reboot.
One thing I have changed is that I used to have the usb ohci/uhci/etc, and cdc_acm built in to the kernel (all with 2.6.7). Could it be something to do with it being a module that is causing this? Thanks for any help - i'll be glad when this is over!
My system doesn't halt completely, infact everything works perfectly except pppd freezes when trying to talk to the modem after this has happened.
What I have done is compiled the uhci/ohci/etc in to the kernel, along with cdc-acm. I have only tried it for about 24 hours now and while the modem still resets (due to lights/fans and other electrical interference) it comes back flawlessly, with nothing written to the logs. If pppd didn't quit before its due time, I wouldn't have any clue that this problem was happening. The modem still changes usb id's though. The length of the usb cable didn't seem to make any difference either.
So If this continues working, then pppd freezing only happens if cdc-acm and/or the uhci/ohci drivers are built as modules, and the usb hub decides to reset due to EMI. Hopefully this helps someone in the future at least!
Not sure why your whole machine would be stopping like that - are you sure you're not able to get any logs at all? What I would do if I was in that situation is run the usual ram and processor tests (http://www.ultimatebootcd.com). Without logs though it's a little difficult to know where to look after that, Sorry.
If it's spitting it out to the console then you're probably not running the syslog daemon which would store it in /var/log/messages or /var/log/syslog.
I noticed it mentioned SMP there though, if compiling the kernel without any SMP or preempt support at all isn't too much trouble then try that and see if it helps. That's about all I can get from that info