| 1 | === Drivers for Specific Hardware Platforms === |
| 2 | |
| 3 | ==== Netgear AC341U ==== |
| 4 | |
| 5 | ''' BUILD DRIVERS: '''[[BR]] |
| 6 | |
| 7 | From this website: http://support.netgear.com/product/AirCard+341U+$28Sprint$29#wrapper |
| 8 | |
| 9 | Download [http://downloadcenter.netgear.com/en/Disclaimer.aspx?redirecturl=http://www.downloads.netgear.com/files/aircard/Linux-Support-S2.12N2.21.zip# this zip file] |
| 10 | |
| 11 | It include the installation directions and the driver directories. To build Follow these steps: |
| 12 | 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 |
| 13 | 2. Copy the driver directories into /usr/src |
| 14 | sudo cp –avr /home/user1/Desktop/GobiSerial /usr/src |
| 15 | sudo cp –avr /home/user1/Desktop/GobiNet /usr/src |
| 16 | 3. Enter each driver directory and run |
| 17 | make all |
| 18 | make install |
| 19 | 4. Load the serial and net modules via modrpobe |
| 20 | {{{ |
| 21 | modrpobe -i GobiSerial |
| 22 | modprobe -i GobiNet |
| 23 | Dmesg output should look like: |
| 24 | [ 459.924062] usb 1-4.4: new high-speed USB device number 4 using ehci_hcd |
| 25 | [ 460.016555] usb 1-4.4: config 1 has an invalid interface number: 8 but max is 5 |
| 26 | [ 460.016560] usb 1-4.4: config 1 has no interface number 5 |
| 27 | [ 460.017054] usb 1-4.4: New USB device found, idVendor=1199, idProduct=9057 |
| 28 | [ 460.017058] usb 1-4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 |
| 29 | [ 460.017061] usb 1-4.4: Product: AC341U |
| 30 | [ 460.017065] usb 1-4.4: Manufacturer: Sierra Wireless, Incorporated |
| 31 | [ 460.017068] usb 1-4.4: SerialNumber: 355745050048959 |
| 32 | [ 460.146715] usbcore: registered new interface driver cdc_ether |
| 33 | [ 460.147711] usbcore: registered new interface driver usbserial |
| 34 | [ 460.147732] usbcore: registered new interface driver usbserial_generic |
| 35 | [ 460.147749] USB Serial support registered for generic |
| 36 | [ 460.147757] usbserial: USB Serial Driver core |
| 37 | [ 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 |
| 38 | [ 460.153936] usbcore: registered new interface driver rndis_host |
| 39 | [ 460.158052] usbcore: registered new interface driver GobiSerial |
| 40 | [ 460.158140] USB Serial support registered for GobiSerial |
| 41 | [ 460.158805] GobiSerial 1-4.4:1.2: GobiSerial converter detected |
| 42 | [ 460.158968] usb 1-4.4: GobiSerial converter now attached to ttyUSB0 |
| 43 | [ 460.159427] GobiSerial 1-4.4:1.3: GobiSerial converter detected |
| 44 | [ 460.159511] usb 1-4.4: GobiSerial converter now attached to ttyUSB1 |
| 45 | [ 460.159925] GobiSerial 1-4.4:1.4: GobiSerial converter detected |
| 46 | [ 460.160062] usb 1-4.4: GobiSerial converter now attached to ttyUSB2 |
| 47 | [ 460.160077] GobiSerial: 2013-10-08/NTGR_2.12:GobiSerial |
| 48 | [ 460.168785] GobiNet: 2013-10-08/NTGR_2.21 |
| 49 | [ 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 |
| 50 | [ 461.569774] creating qcqmi2 |
| 51 | [ 461.569852] usbcore: registered new interface driver GobiNet |
| 52 | }}} |
| 53 | Notice that multiple serial USB interfaces are enumerated, the one that accepts AT commands is ttyUSB1, the latter are for some kind of diagonostics. |
| 54 | |
| 55 | ''' FIRMWARE UPDATE: (Incase you need one) '''[[BR]] |
| 56 | 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: |
| 57 | 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# |
| 58 | |
| 59 | ''' USING SERIAL INTERFACE: '''[[BR]] |
| 60 | To actually use the device you'll have to connect to the virtual serial interface, enable pass through, and initiate a connection. |
| 61 | |
| 62 | To connect to the serial interface I used minicom. The command string was: |
| 63 | minicom -D /dev/ttyUSB1 |
| 64 | |
| 65 | 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. |
| 66 | |
| 67 | When you launch minicom you should see an initial AT command. Pressing enter will get you an OK reponse, this inidicates it's working. |
| 68 | |
| 69 | You only need to enter passthrough mode once. But it will require a device restart. The AT commands are: |
| 70 | AT!ippassthrough=1 |
| 71 | AT!reset |
| 72 | |
| 73 | You can check if it's enabled by running: |
| 74 | |
| 75 | AT!ippassthrough? |
| 76 | |
| 77 | 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: |
| 78 | {{{ |
| 79 | Bus 001 Device 004: ID 1199:9057 Sierra Wireless, Inc. |
| 80 | }}} |
| 81 | |
| 82 | It's in pass through mode, if you get: |
| 83 | {{{ |
| 84 | Bus 001 Device 004: ID 1199:9055 Sierra Wireless, Inc. |
| 85 | }}} |
| 86 | |
| 87 | 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). |
| 88 | |
| 89 | Once the interfaces enumerate, reconnect to the serial port ttyUSB1 and issue the follow commands: |
| 90 | {{{ |
| 91 | AT!entercnd="A710" |
| 92 | AT!dxcfg=wwan,connect,11 |
| 93 | }}} |
| 94 | |
| 95 | The quotations are required for the entercnd line. The entercnd line is the equivalent of an enable command (enter privileged mode). |
| 96 | The latter command actually connects to the BS. It's disconnect counterpart is: |
| 97 | AT!dxcfg=wwan,connect,0 |
| 98 | |
| 99 | You can verify on the device that the actual state is connected. Additionally: |
| 100 | at!gstatus? |
| 101 | |
| 102 | Will get you a status out put like: |
| 103 | {{{ |
| 104 | at!gstatus? |
| 105 | !GSTATUS: |
| 106 | Current Time: 10049 Temperature: 42 |
| 107 | Bootup Time: 0 Mode: ONLINE |
| 108 | System mode: LTE PS state: Attached |
| 109 | LTE band: B25 LTE bw: 10 MHz |
| 110 | LTE Rx chan: 8365 LTE Tx chan: 26365 |
| 111 | EMM state: Registered Normal Service |
| 112 | RRC state: RRC Connected |
| 113 | IMS reg state: No Srv |
| 114 | |
| 115 | RSSI (dBm): -83 Tx Power: 0 |
| 116 | RSRP (dBm): -117 TAC: 0001 (1) |
| 117 | RSRQ (dB): -10 Cell ID: 01A2D001 (27447297) |
| 118 | SINR (dB): 1.6 |
| 119 | }}} |
| 120 | |
| 121 | Don't let the mode ONLINE fool you. This does not mean the device is connected, merely that it sees the BS. |
| 122 | |
| 123 | Finally once the device is actually connected, bring up the Ethernet interface and run dhclient on it. In this case that was eth2. |