Wifi Drivers

How to install wifi drivers for mini pcie and usb?

That’s kind of a loaded question. At this stage it looks like you’re going to need to compile the drivers and install them yourself.

I haven’t completed it yet, but I Googled my broadcom chip with the query “bcm4311 driver ubuntu”, which has gotten me on the path of finding the source for the “bcm43xx” driver so I can attempt to compile it.

I’ve been discussing this with kulve on another thread. For me so far,

I have an intel 7260hmw. The source is included on the board in /usr/src/kernel_src.bz2. The kernel config is located at /proc/config.gz. The firmware can be downloaded from

http://wireless.kernel.org/en/users/Drivers/iwlwifi

To get where I am now, pop open a terminal and

mkdir ~/tmp
cp /usr/src/kernel_src.bz2 ~/tmp
cd ~/tmp
tar -xjf kernel_src.bz2

This part is important when you build. You need to touch all the files in the sources. If you don’t do it, you get an infinite loop telling you about clock skew warnings.

find . -exec touch {} ;

Now to set up the .config file.

zcat /proc/config.gz > .config
make oldconfig

At this point, you need menuconfig. To use menuconfig, you need the ncurses library. It’s not on the board, so you either need to apt get it (requires internet connection which you probably don’t have without wifi) or a linux machine with working internet so you can get the ncurses and menu config. So I copied .config after the make oldconfig to a sdcard and transferred it to my linux laptop.

on laptop

sudo apt-get install lib32ncurses5-dev
mkdir ~/tegra
cp /media/removable/UNTITLED/tegra/.config ~/tegra

Edit: I forgot to mention you need a copy of the kernel sources here too for menuconfig to work.
cp /media/removable/UNTITLED/tegra/kernel_src.bz2 ~/tegra
cd ~/tegra
tar -xjf kernel_src.bz2

cd ~/tegra
make ARCH=arm menuconfig

That launches the menuconfig thing. Once in there, go to

Device Drivers > Network device support > Wireless LAN > Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)

pressing m enables the module to be built in your config. I did that for DVM and MVM support. Save and return the .config back to where your source is located on the tk1. Back on the tk1,

make zImage modules -j4

If everything went well, that builds your kernel along with the new iwlwifi drivers. It took about 15 minutes on the tk1 for me. But this is the point where I’m stuck. You can install the drivers into a temp directory like

make INSTALL_MOD_PATH=/tmp/jetson-modules modules_install

but I don’t really know what to do with it at this point. The iwlwifi drivers are built and I see them in /tmp/jetson-modules/lib/modules/3.10.24/kernel/drivers/net/wireless/iwlwifi/, but I don’t know what I need to do to install them and get them running.

I tried to simply copy them to the equivalent directory in /lib/modules/ and reboot but that did not work. I haven’t been brave enough to try a ‘make install’ yet, because I’m worried I’ll hose the board and I don’t know how to recover it if I hose it yet. At the moment, I can just delete ~/tmp and no harm no foul.

I’d much rather be parallel programming by now :)