maemo.org Bugzilla – Full Text Bug Listing
|Summary:||g_ether.ko disconnect crash|
|Product:||[Maemo Official Platform] Core||Reporter:||Volker Braun <vbraun>|
|Status:||RESOLVED FIXED||QA Contact:||linux-kernel-bugs|
|Priority:||Medium||CC:||andre_klapper, bugzilla, eero.tamminen|
After using USB networking (g_ether.ko on the n800, usbnet.ko + cdc_ether.ko + rndis_host.ko on the PC) the g_ether.ko on the n800 does not unload cleanly. The following sequence of commands reliably crashes the n800 (running 3.2007.10-7). -------------- snip on ----------------- BusyBox v1.1.3 (Debian 3:1.1.3-3.sdk3) Built-in shell (ash) Enter 'help' for a list of built-in commands. Nokia-N800-10:~# lsmod Module Size Used by g_file_storage 24456 0 - Live 0xbf04f000 cx3110x 50632 0 - Live 0xbf041000 umac 258372 1 cx3110x, Live 0xbf000000 Nokia-N800-10:~# rmmod g_file_storage Nokia-N800-10:~# insmod /mnt/initfs/lib/modules/2.6.18-omap1/g_ether.ko -------------- snip off ----------------- Now connect to host via USB cable, and then disconnect cable again. -------------- snip on ----------------- Nokia-N800-10:~# dmesg | tail -10 [ 8875.419952] musb_stage0_irq 530: BUS RESET [ 8875.535491] musb_stage0_irq 530: BUS RESET [ 8875.664367] musb_hdrc periph: enabled ep2in for int IN, dma, maxpacket 16 [ 8875.664459] usb0: high speed config #1: 100 mA, Ethernet Gadget, using CDC Ethernet [ 8875.665191] musb_hdrc periph: enabled ep1in for bulk IN, dma, maxpacket 512 [ 8875.665252] musb_hdrc periph: enabled ep1out for bulk OUT, dma, maxpacket 512 [ 8875.665313] musb_hdrc periph: enabled ep2in for int IN, dma, maxpacket 16 [ 8875.919738] usb_gadget_register_driver 1751: musb_hdrc is already bound to ether [ 8906.202667] musb_stage2_irq 628: SUSPEND, devctl 91 [ 8906.469482] musb_stage2_irq 609: DISCONNECT as PERIPHERAL, devctl 88 Nokia-N800-10:~# rmmod g_ether.ko Nokia-N800-10:~# ifconfig -a -------------- snip off ----------------- ifconfig does not return anything, and the n800 is completely stopped. No buttons work, tap to screen does nothing. After a few seconds the n800 automatically reboots.
kernel module issue?
(In reply to comment #0) > Nokia-N800-10:~# insmod /mnt/initfs/lib/modules/2.6.18-omap1/g_ether.ko In Diablo: insmod /mnt/initfs/lib/modules/2.6.21-omap1/g_ether.ko > Nokia-N800-10:~# ifconfig -a > > ifconfig does not return anything, and the n800 is completely stopped. No > buttons work, tap to screen does nothing. After a few seconds the n800 > automatically reboots. This bug is still reproducible in Diablo, as NB#86367 (there have been some other bugs&fixes to USB networking kernel issues in earlier releases though.) I think it's a kernel bug, but the cause in Diablo is actually ke-recv package (which was recently open sourced). When the USB cable is connected, it insmods g_file_storage unconditionally and kernel doesn't like it. As a workaround, you could modify /usr/sbin/osso-usb-mass-storage-*.sh to check whether g_ether is present like /etc/init.d/ke-recv does.
This will be fixed in next release. If you do lots of rmmods and insmods for g_ether and g_file_storage, rmmod for latter can at some point still fail (gets stuck at unloading stage), but device doesn't freeze nor reboot and ifconfig works fine.
Fixed in internal build version Diablo x.2008.39-x Any public update released with or after this build version will include the fix. Please verify that the new version fixes the bug by marking this bug report as VERIFIED after the public update has been released and if you have some time.
Fix for this should be included in today's 5.2008.43-7 SSU update. Please verify the fix by marking this bug report as VERIFIED if you have some time.
please note that this issue is still being discussed in bug #1375, and if it's been fixed in the SSU then i must have downloaded the wrong thing. i don't know enough about ke-recv to understand where all of this is being configured, but as far as i can tell it is now essential that someone sits down and properly maps out what should happen when in all _three_ of the available (and otherwise perfectly functional) USB modes. in short - i'd be delighted if someone can correct me, but as far as i can tell it is NOT fixed yet.
(In reply to comment #6) > please note that this issue is still being discussed in bug #1375, This bug is bug 1375? > and if it's been fixed in the SSU then i must have downloaded the wrong > thing. Do you mean that your device still freezes and/or reboots with the steps listed in the original bug report? If the device doesn't reboot, it's not the same bug. If you can trigger the reboot with slightly different steps, please list them here (unless they're already listed in some other bug).