title: Cross compiling drivers for USB modem
body: <p>I have a physical card with an IMX6 CPU that runs Linux (a kernel I compiled from source, from the manufacturer's website). I also have a USB Cellular modem dongle that I want to use with the card. However, when I plug the dongle in the card, I get this in <code>dmesg</code>:</p>
  
  <pre><code>[   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
  </code></pre>
  
  <p>It looks like Linux is recognizing the device as a mass storage device (it doubles as a storage device), but not as a modem. When I insert the same dongle into a regular Ubuntu machine, I get this:</p>
  
  <pre><code>[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
  </code></pre>
  
  <p>I know how to compile modules externally and into the kernel, by choosing them in <code>menuconfig</code>. However, I don't know which modules I should compile for this device, if they are even included in the kernel source. How can I find which modules / drivers to compile?</p>