我有一个运行Linux(我从源代码,从制造商的网站编译的内核)IMX6 CPU的物理卡。我也有一个我想用于该卡的USB蜂窝调制解调器加密狗。然而,当我在卡插上加密狗,我得到这个dmesg
:交叉编译驱动程序的USB调制解调器
[ 29.825491] usb 1-1: new high-speed USB device number 2 using ci_hdrc
[ 29.983396] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 29.991796] scsi0 : usb-storage 1-1:1.0
[ 30.987573] scsi 0:0:0:0: Direct-Access ALCATEL Mass Storage 2.31 PQ: 0 ANSI: 2
[ 30.996027] scsi 0:0:0:1: CD-ROM ALCATEL Mass Storage 2.31 PQ: 0 ANSI: 2
[ 31.008487] sd 0:0:0:0: [sda] Attached SCSI removable disk
它看起来像Linux是识别设备为大容量存储设备(双打作为存储设备),但不作为调制解调器。当我插入相同的加密狗到常规的Ubuntu机器,我得到这个:
[264822.947101] usb 1-5: new high-speed USB device number 12 using ehci-pci
[264823.086874] usb 1-5: New USB device found, idVendor=1bbb, idProduct=0017
[264823.086880] usb 1-5: New USB device strings: Mfr=3, Product=2, SerialNumber=[REDACTED]
[264823.086883] usb 1-5: Product: HSPA Data Card
[264823.086886] usb 1-5: Manufacturer: USBModem
[264823.086888] usb 1-5: SerialNumber: [REDACTED]
[264823.089483] option 1-5:1.0: GSM modem (1-port) converter detected
[264823.089685] usb 1-5: GSM modem (1-port) converter now attached to ttyUSB1
[264823.089816] option 1-5:1.1: GSM modem (1-port) converter detected
[264823.090019] usb 1-5: GSM modem (1-port) converter now attached to ttyUSB2
[264823.090150] option 1-5:1.2: GSM modem (1-port) converter detected
[264823.090311] usb 1-5: GSM modem (1-port) converter now attached to ttyUSB3
[264823.090433] option 1-5:1.3: GSM modem (1-port) converter detected
[264823.090574] usb 1-5: GSM modem (1-port) converter now attached to ttyUSB4
[264823.090666] usb-storage 1-5:1.4: USB Mass Storage device detected
[264823.090916] scsi host16: usb-storage 1-5:1.4
[264823.091067] option 1-5:1.5: GSM modem (1-port) converter detected
[264823.091133] usb 1-5: GSM modem (1-port) converter now attached to ttyUSB5
[264824.089843] scsi 16:0:0:0: Direct-Access ALCATEL Mass Storage 2.31 PQ: 0 ANSI: 2
[264824.090238] sd 16:0:0:0: Attached scsi generic sg2 type 0
[264824.093552] sd 16:0:0:0: [sdb] Attached SCSI removable disk
我知道如何编译模块外部进入内核,在menuconfig
选择它们。但是,我不知道我应该为这个设备编译哪些模块,如果它们甚至包含在内核源代码中的话。我怎样才能找到要编译的模块/驱动程序?
看起来'eject'根本没有任何效果。我什至不能说这个设备映射到哪里。我在'/ dev/disk/by-id /'下找到了一个名为'usb-ALCATEL_Mass_Storage-'的东西,但我不知道该怎么办。任何想法? –
@AndyThomas:考虑到你的dmesg输出,我希望'eject/dev/sda'应该可以工作,但使用'usb_modeswitch'可能会更容易。 – Hasturkun
'eject/dev/sda'也不起作用。我的主板上没有'usb_modeswitch',你认为这值得交叉编译吗? –