On Thu, May 07, 2009 at 12:17:35PM +0400, Владимир Гусев wrote: > если КПК Qtek G100 подключить по usb к нетбуку (просто для зарядки), то [...] > [ 2459.084160] usb 2-1: new full speed USB device using uhci_hcd and address 2 > [ 2459.266619] usb 2-1: configuration #1 chosen from 1 choice > [ 2459.270406] usb 2-1: New USB device found, idVendor=0bb4, idProduct=0bce > [ 2459.270428] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 > [ 2459.270436] usb 2-1: Product: Generic RNDIS Модуль ipaq не умеет работать с устройствами, использующими протокол RNDIS (впрочем, для них есть свой модуль rndis_host). Почему при этом в таблице идентификаторов устройств в модуле ipaq есть запись 0bb4:0bce - не знаю; возможно, существуют разные версии устройств, имеющие одинаковые идентификаторы, но различающиеся типом реализованного интерфейса (или же тип интерфейса может меняться в зависимости от настроек). Чтобы модуль ipaq не мешал, можно сделать echo "blacklist ipaq" >> /etc/modprobe.d/local.conf В этом случае модуль ipaq не будет загружаться автоматически. [...] > [ 2459.889104] BUG: unable to handle kernel NULL pointer dereference at 0000003c > [ 2459.889115] IP: [] :ipaq:ipaq_open+0x1be/0x358 > [ 2459.889135] *pde = 00000000 > [ 2459.889143] Oops: 0002 [#1] SMP > [ 2459.889153] Modules linked in: ppp_generic slhc rndis_wlan rndis_host cdc_ether usbnet ipaq usbserial vboxnetflt vboxdrv kqemu i915 drm michael_mic arc4 ecb cryptomgr aes_i586 crypto_blkcipher aes_generic rfcomm sco bridge stp bnep l2cap af_packet etercifs nls_utf8 nls_cp866 vfat fat nls_base dm_mod usbhid hid usb_storage ff_memless btusb libusual bluetooth snd_hda_intel snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq r8180 snd_seq_device snd_pcm_oss ieee80211_rtl snd_mixer_oss pcspkr r8169 i2c_i801 ieee80211_crypt_tkip_rtl intel_agp psmouse snd_pcm ieee80211_crypt_wep_rtl agpgart ieee80211_crypt_ccmp_rtl snd_timer ieee80211_crypt_rtl ehci_hcd snd_page_alloc uhci_hcd mii snd_hwdep serio_raw i2c_core usbcore snd thermal soundcore rtc_cmos processor rtc_core video output wmi ac battery evdev rtc_lib button sg ext3 jbd mbcache ata_generic ata_piix pata_acpi libata dock sd_mod crc_t10dif scsi_mod > [ 2459.889312] > [ 2459.889318] Pid: 10135, comm: pppd Not tainted (2.6.27-std-def-alt16 #1) > [ 2459.889325] EIP: 0060:[] EFLAGS: 00210286 CPU: 1 > [ 2459.889343] EIP is at ipaq_open+0x1be/0x358 [ipaq] > [ 2459.889350] EAX: e7df3000 EBX: f5b5c560 ECX: e8363a00 EDX: 00000000 > [ 2459.889356] ESI: e8363a00 EDI: 00000100 EBP: eb421e0c ESP: eb421dd0 > [ 2459.889363] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 > [ 2459.889370] Process pppd (pid: 10135, ti=eb420000 task=ec3f21f0 task.ti=eb420000) > [ 2459.889376] Stack: 00000000 eb421de8 c0395f08 e70d42c0 e6b29400 f380e680 e8363a00 e6b29400 > [ 2459.889394] f5b5c574 f64cb240 00000064 e8363a00 f8c75940 e8363a00 f64cb240 eb421e38 > [ 2459.889411] f8ce23ae e847e3f8 eb421e28 c02a8b29 e7958f00 e6b29400 e8363a4c f8ce22a0 > [ 2459.889429] Call Trace: > [ 2459.889436] [] ? tty_ldisc_setup+0x78/0x80 > [ 2459.889471] [] ? serial_open+0x10e/0x170 [usbserial] > [ 2459.889492] [] ? cdev_get+0x19/0x60 > [ 2459.889505] [] ? serial_open+0x0/0x170 [usbserial] > [ 2459.889520] [] ? tty_open+0x15c/0x330 > [ 2459.889530] [] ? chrdev_open+0xc5/0x170 > [ 2459.889540] [] ? __dentry_open+0xb7/0x260 > [ 2459.889550] [] ? nameidata_to_filp+0x47/0x60 > [ 2459.889559] [] ? chrdev_open+0x0/0x170 > [ 2459.889569] [] ? do_filp_open+0x1b5/0x780 > [ 2459.889579] [] ? do_sync_write+0xd1/0x110 > [ 2459.889589] [] ? autoremove_wake_function+0x0/0x50 > [ 2459.889602] [] ? do_sys_open+0x5d/0xf0 > [ 2459.889613] [] ? sys_open+0x29/0x40 > [ 2459.889623] [] ? syscall_call+0x7/0xb > [ 2459.889634] ======================= > [ 2459.889637] Code: a1 98 4d 57 c0 ba d0 00 00 00 e8 3e 27 63 c7 85 c0 89 86 8c 00 00 00 0f 84 48 01 00 00 8b 45 dc 89 c1 8b 90 84 00 00 00 8b 40 7c <89> 42 3c 8b 81 8c 00 00 00 8b 91 94 00 00 00 89 42 3c 8b 81 84 > [ 2459.889715] EIP: [] ipaq_open+0x1be/0x358 [ipaq] SS:ESP 0068:eb421dd0 > [ 2459.889740] ---[ end trace 83079aa49e344538 ]--- Это последствия ошибки в модуле ipaq (вообще подобные проблемы есть почти во всех модулях usb-serial - не хватает проверок на наличие требуемых USB endpoints в устройстве). Похожую проблему исправляли уже давно: http://bugzilla.kernel.org/show_bug.cgi?id=8094 Но в 2.6.25 проверку из usb-serial опять убрали, поскольку из-за неё переставали работать другие устройства. Видимо, теперь придётся добавлять проверки в каждый из драйверов, работающих через usb-serial.