Version 16 (modified by 8 years ago) ( diff ) | ,
---|
Table of Contents
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
Using Apt-Get
The compiled source is now available in the repositories, and so this is the preferred install method.
sudo apt-get update
sudo apt-get install bcmwl-kernel-source
sudo modprobe wl
If this doesn't work, then remove interfering drivers by:
sudo apt-get update
sudo apt-get --reinstall install bcmwl-kernel-source
sudo modprobe -r b43 ssb wl brcmfmac brcmsmac bcma
sudo modprobe wl
These drivers are blacklisted on the baseline image by default, but may be re-enabled by later actions. These steps insure that they are not loaded at the same time as wl.
If your chosen operating system does not have the source available, such as in the above instructions, you will need to build the linux_sta wl driver yourself. The sources are available from Broadcom, below.
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++).
- copy this file for the 32-bit kernel or 64-bit kernel
- Untar and make / make install
- the module is named wl.ko and is located at /lib/modules/3.2.0-36-generic/kernel/drivers/net/wireless/wl.ko
- Following this readme load these two modules with modprobe
modprobe cfg80211 modprobe lib80211
- 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 support page at Netgear website download the latest Linux driver (check the page for latest under "AirCard 341U Downloads and Documentation"); as of Jan 2016 the latest Linux drivers can be pulled with:
wget http://www.downloads.netgear.com/files/aircard/Linux-Support-S2.13N2.25.zip
It include the installation directions and the driver directories. When compiling, make sure not to have spaces anywhere in the path otherwise the compilation will fail with arch/x86/Makefile:129: CONFIG_X86_X32 enabled but no binutils support. Also, for kernels ≥ 3.19, you will have to modify all occurrences in GobiNet/QMIDevice.c of f_dentry to f_path.dentry. To build Follow these steps:
- Ensure you have an appropriate kernel version and respective headers, 3.5.0.49 in our case since btest2.ndz in Ubuntu 12.04
- 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
- Enter each driver directory and run
make all make install
- Load the serial and net modules via modrpobe
modprobe -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 necessary). 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" OK AT!dxcfg=wwan,connect,11 OK $QCRMCALL: 1, V4
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.
USRP Universal Hardware Driver
Prior to installing ensure the host platform is running Ubuntu 14.04 and a USRP connected on eth2 interface.
UHD binary installation instructions referenced from http://files.ettus.com/manual/page_install.html#install_linux.
Add the repository and install the UHD binary:
add-apt-repository ppa:ettusresearch/uhd apt-get update apt-get install libuhd-dev libuhd003 uhd-host
Configure eth2 network interface by adding the following in /etc/network/interfaces
auto eth2 iface eth2 inet static address 192.168.10.1 netmask 255.255.255.0 mtu 9216
Test UHD installation using the USRP Hardware Driver Discovery Utility
uhd_find_devices
Output should look similar to the following
linux; GNU C++ version 4.6.3; Boost_104601; UHD_003.007.002-release -------------------------------------------------- -- UHD Device 0 -------------------------------------------------- Device Address: type: usrp2 addr: 192.168.10.2 name: serial: F297A3
USRP peripheral details can be obtained using the USRP Hardware Driver Peripheral Report Utility
uhd_usrp_probe
Output should look similar to the following
linux; GNU C++ version 4.6.3; Boost_104601; UHD_003.007.002-release -- Opening a USRP2/N-Series device... -- Current recv frame size: 1472 bytes -- Current send frame size: 1472 bytes _____________________________________________________ / | Device: USRP2 / N-Series Device | _____________________________________________________ | / | | Mboard: N210r4 | | hardware: 2577 | | mac-addr: 00:80:2f:0a:cc:c8 | | ip-addr: 255.255.255.255 | | subnet: 255.255.255.255 | | gateway: 255.255.255.255 | | gpsdo: none | | serial: F297A3 | | FW Version: 12.3 | | FPGA Version: 10.0 | | | | Time sources: none, external, _external_, mimo | | Clock sources: internal, external, mimo | | Sensors: mimo_locked, ref_locked | | _____________________________________________________ | | / | | | RX DSP: 0 | | | Freq range: -50.000 to 50.000 Mhz | | _____________________________________________________ | | / | | | RX DSP: 1 | | | Freq range: -50.000 to 50.000 Mhz | | _____________________________________________________ | | / | | | RX Dboard: A | | | ID: SBX (0x0054) | | | Serial: E4R1CSDXS | | | _____________________________________________________ | | | / | | | | RX Frontend: 0 | | | | Name: SBXv3 RX | | | | Antennas: TX/RX, RX2, CAL | | | | Sensors: lo_locked | | | | Freq range: 400.000 to 4400.000 Mhz | | | | Gain range PGA0: 0.0 to 31.5 step 0.5 dB | | | | Connection Type: IQ | | | | Uses LO offset: No | | | _____________________________________________________ | | | / | | | | RX Codec: A | | | | Name: ads62p44 | | | | Gain range digital: 0.0 to 6.0 step 0.5 dB | | | | Gain range fine: 0.0 to 0.5 step 0.1 dB | | _____________________________________________________ | | / | | | TX DSP: 0 | | | Freq range: -250.000 to 250.000 Mhz | | _____________________________________________________ | | / | | | TX Dboard: A | | | ID: SBX (0x0055) | | | Serial: E4R1CSDXS | | | _____________________________________________________ | | | / | | | | TX Frontend: 0 | | | | Name: SBXv3 TX | | | | Antennas: TX/RX, CAL | | | | Sensors: lo_locked | | | | Freq range: 400.000 to 4400.000 Mhz | | | | Gain range PGA0: 0.0 to 31.5 step 0.5 dB | | | | Connection Type: QI | | | | Uses LO offset: No | | | _____________________________________________________ | | | / | | | | TX Codec: A | | | | Name: ad9777 | | | | Gain Elements: None
RTL-SDR
Assumes you have git and libusb-1.0.0.dev installed on the image.
git clone git://git.osmocom.org/rtl-sdr.git cd rtl-sdr/ mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON make make install ldconfig cp ../rtl-sdr.rules /etc/udev/rules.d/
Blackclist the RTL-SDR so it doesn't interfere with other devices by adding creating /etc/modprobe.d/blacklist-rtlsdr.conf with:
blacklist dvb_usb_rtl28xxu
ATH 5k
No build necessary, uses stock kernel drivers from Ubuntu Repository.
ATH 9k
No build necessary, uses stock kernel drivers from Ubuntu Repository.
Intel® PRO/Wireless 2200BG and 2915ABG
No build necessary, uses stock kernel drivers from Ubuntu Repository.
Linux Blue tooth
No build necessary, uses stock kernel drivers from Ubuntu Repository.
Ath 3K
No build necessary, uses stock kernel drivers from Ubuntu Repository.
Attachments (3)
-
Linux-Support-S2.12N2.21.zip
(605.6 KB
) - added by 10 years ago.
Linux Driver for Netgear LTE modem
-
hybrid-v35_64-nodebug-pcoem-6_30_223_248.tar.gz
(2.7 MB
) - added by 10 years ago.
Broadcom STA WL driver 64 bit
-
hybrid-v35-nodebug-pcoem-6_30_223_248.tar.gz
(2.7 MB
) - added by 10 years ago.
Broadcom STA WL driver 32 bit