wiki:Software/hDrivers

Version 3 (modified by ssugrim, 10 years ago) ( diff )

Drivers for Specific Hardware Platforms

Broadcom STA drivers

These drivers were required for the Broadcom BCM94352HMB an 802.11 AC compliant device. The primary reference is: http://www.broadcom.com/support/802.11/linux_sta.php

Building and loading the STA module:
It's assumed that the matching kernel headers are installed, and the proper build tools are also installed (e.g. make, g++).

  1. copy this file for the 32-bit kernel or 64-bit kernel
  2. Untar and make / make install
  3. the module is named wl.ko and is located at /lib/modules/3.2.0-36-generic/kernel/drivers/net/wireless/wl.ko
  4. Following this readme load these two modules with modprobe
    modprobe cfg80211
    modprobe lib80211
    
  5. then load the module that was built with insmod:
    insmod  /lib/modules/3.2.0-36-generic/kernel/drivers/net/wireless/wl.ko
    

Netgear AC341U

BUILD DRIVERS:

From this website: http://support.netgear.com/product/AirCard+341U+$28Sprint$29#wrapper

Download this zip file

It include the installation directions and the driver directories. To build Follow these steps:

  1. Ensure you have an appropriate kernel version and respective headers, 3.5.0.49 in our case since btest2.ndz in Ubuntu 12.04
  2. Copy the driver directories into /usr/src sudo cp –avr /home/user1/Desktop/GobiSerial /usr/src sudo cp –avr /home/user1/Desktop/GobiNet /usr/src
  3. Enter each driver directory and run

make all make install

  1. Load the serial and net modules via modrpobe
        modrpobe -i GobiSerial
        modprobe -i GobiNet
        Dmesg output should look like:
    [  459.924062] usb 1-4.4: new high-speed USB device number 4 using ehci_hcd
    [  460.016555] usb 1-4.4: config 1 has an invalid interface number: 8 but max is 5
    [  460.016560] usb 1-4.4: config 1 has no interface number 5
    [  460.017054] usb 1-4.4: New USB device found, idVendor=1199, idProduct=9057
    [  460.017058] usb 1-4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [  460.017061] usb 1-4.4: Product: AC341U
    [  460.017065] usb 1-4.4: Manufacturer: Sierra Wireless, Incorporated
    [  460.017068] usb 1-4.4: SerialNumber: 355745050048959
    [  460.146715] usbcore: registered new interface driver cdc_ether
    [  460.147711] usbcore: registered new interface driver usbserial
    [  460.147732] usbcore: registered new interface driver usbserial_generic
    [  460.147749] USB Serial support registered for generic
    [  460.147757] usbserial: USB Serial Driver core
    [  460.153904] rndis_host 1-4.4:1.0: usb0: register 'rndis_host' at usb-0000:00:1a.7-4.4, RNDIS device, 32:85:11:c8:2c:09
    [  460.153936] usbcore: registered new interface driver rndis_host
    [  460.158052] usbcore: registered new interface driver GobiSerial
    [  460.158140] USB Serial support registered for GobiSerial
    [  460.158805] GobiSerial 1-4.4:1.2: GobiSerial converter detected
    [  460.158968] usb 1-4.4: GobiSerial converter now attached to ttyUSB0
    [  460.159427] GobiSerial 1-4.4:1.3: GobiSerial converter detected
    [  460.159511] usb 1-4.4: GobiSerial converter now attached to ttyUSB1
    [  460.159925] GobiSerial 1-4.4:1.4: GobiSerial converter detected
    [  460.160062] usb 1-4.4: GobiSerial converter now attached to ttyUSB2
    [  460.160077] GobiSerial: 2013-10-08/NTGR_2.12:GobiSerial
    [  460.168785] GobiNet: 2013-10-08/NTGR_2.21
    [  460.169255] GobiNet 1-4.4:1.8: eth2: register 'GobiNet' at usb-0000:00:1a.7-4.4, GobiNet Ethernet Device, c6:c1:97:7e:a4:09
    [  461.569774] creating qcqmi2
    [  461.569852] usbcore: registered new interface driver GobiNet
    
    Notice that multiple serial USB interfaces are enumerated, the one that accepts AT commands is ttyUSB1, the latter are for some kind of diagonostics.

FIRMWARE UPDATE: (Incase you need one)
The firmware update has to be done on windows. Insert the device into a windows box, and let it install drivers and enumerate interafaces. Make sure you can see the managment webpage. Then download, install and run the following file: http://downloadcenter.netgear.com/en/Disclaimer.aspx?redirecturl=http://www.downloads.netgear.com/files/aircard/1101857_9902536_NTG9X15C_45.04.20.00_00_SPRINT_000.046_000-field.exe#

USING SERIAL INTERFACE:
To actually use the device you'll have to connect to the virtual serial interface, enable pass through, and initiate a connection.

To connect to the serial interface I used minicom. The command string was: minicom -D /dev/ttyUSB1

Port settings were 115200 8N1 with hardware Flow Control (but not sure if that is necissary). In minicom I also made the Init string AT, and the Reset string empty.

When you launch minicom you should see an initial AT command. Pressing enter will get you an OK reponse, this inidicates it's working.

You only need to enter passthrough mode once. But it will require a device restart. The AT commands are: AT!ippassthrough=1 AT!reset

You can check if it's enabled by running:

AT!ippassthrough?

If you get a 1 back, it's in pass through mode. Additionally the output of LSUSB is different, if you run it and get:

Bus 001 Device 004: ID 1199:9057 Sierra Wireless, Inc.

It's in pass through mode, if you get:

Bus 001 Device 004: ID 1199:9055 Sierra Wireless, Inc.

It's in NAT mode. Once the device reboots, the device enumeration will be different. Instead of just eth2, there will be an eth2 interface and a USB interface. We'll still use the eth2 interface however. (these numbers are for the btest2 image on a machine with 2 intefaces, dmesg will give you the actual device name).

Once the interfaces enumerate, reconnect to the serial port ttyUSB1 and issue the follow commands:

AT!entercnd="A710"
AT!dxcfg=wwan,connect,11

The quotations are required for the entercnd line. The entercnd line is the equivalent of an enable command (enter privileged mode). The latter command actually connects to the BS. It's disconnect counterpart is: AT!dxcfg=wwan,connect,0

You can verify on the device that the actual state is connected. Additionally: at!gstatus?

Will get you a status out put like:

at!gstatus?                                                                                                         
!GSTATUS: 
Current Time:  10049            Temperature: 42
Bootup Time:   0                Mode:        ONLINE         
System mode:   LTE              PS state:    Attached     
LTE band:      B25              LTE bw:      10 MHz  
LTE Rx chan:   8365             LTE Tx chan: 26365
EMM state:     Registered       Normal Service 
RRC state:     RRC Connected  
IMS reg state: No Srv  

RSSI (dBm):    -83              Tx Power:    0
RSRP (dBm):    -117             TAC:         0001 (1)
RSRQ (dB):     -10              Cell ID:     01A2D001 (27447297)
SINR (dB):      1.6

Don't let the mode ONLINE fool you. This does not mean the device is connected, merely that it sees the BS.

Finally once the device is actually connected, bring up the Ethernet interface and run dhclient on it. In this case that was eth2.

Attachments (3)

Note: See TracWiki for help on using the wiki.