Build HDG200B Linux Driver for different platforms
This page provide short information on how to build and install the
HDG200B wifi driver on different linux platforms.
Linux Root File System
Checkout and configure buildroot
- git clone https://github.com/linux4sam/buildroot-at91.git
- cd buildroot-at91
- git checkout origin/buildroot-2014.05-at91 -b my_branch
- make sama5d4_defconfig
- make menuconfig
Apply the default configuration
- cp /path/to/sam5d4_wilc1000.config .config
OR select the following options manually
- System configuration --> /dev management (Dynamic using eudev)
- Kernel --> Linux Kernel --> Kernel version --> Custom Git repository
- URL of custom repository --> Enter "https://github.com/linux4sam/linux-at91.git"
- Custom repository version --> Enter "9e27b1517a0d9c83b410c9f1361f06eacbac77b9"
- Defconfig name --> Enter "sama5d4"
- Device tree support --> Device Tree Source file names --> Enter
- "at91-sama5d4_xplained at91-sama5d4_xplained_hdmi at91-sama5d4_xplained_pda4"
- Target packages --> Libraries --> Networking --> libnl
- Target packages --> Libraries --> Crypto --> openssl (enable all)
- Target packages --> Networking applications -> dhcp (ISC) (enable all)
- Target packages --> Networking applications -> dhcpd
- Target packages --> Networking applications -> hostapd (enable all)
- Target packages --> Networking applications -> iperf
- Target packages --> Networking applications -> iw
- Target packages --> Networking applications -> wpa_supplicant
- Target packages --> Networking applications -> wireless tools
Build
- make -j1
Linux Kernel with HDG200B Support
- git clone https://github.com/linux4sam/linux-at91.git
- cd linux-at91
- git checkout origin/linux-3.10-at91 -b linux-3.10-at91
- git clone https://github.com/linux4sc/wireless-driver.git ./drivers/net/wireless/atmel
Include
HDG200B support in the kernel configuration. In linux-at91/drivers/net/wireless/Kconfig add the following line
- source "drivers/net/wireless/atmel/Kconfig"
In linux-at91/drivers/net/wireless/Makefile add the following line
- obj-$(CONFIG_ATMEL_SMARTCONNECT) += atmel/
Configure the Kernel
- make ARCH=arm sama5d4_defconfig
- make ARCH=arm menuconfig
Apply the following configuration
- Networking support -> Wireless -> cfg80211
- Device Driver -> Network device support -> Wireless LAN ->
- Atmel SmartConnect Wireless cards Driver -> WILC1000 Support
Build the Kernel
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- zImage
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules
Flash the Root File System and Linux Kernel
Use the following binary release as a template.
- wget ftp://www.at91.com/pub/demo/linux4sam_4.7/linux4sam-poky-sama5d4_xplained-4.7.zip
- unzip linux4sam-poky-sama5d4_xplained-4.7.zip
Copy output files to the linux4sam-poky-sama5d4_xplained-4.7 directory. Edit the file demo_linux_nandflash.tcl if any file name was changed.
- cp linux-at91/arch/arm/boot/zImage linux4sam-poky-sama5d4_xplained-4.7
- cp linux-at91/arch/arm/boot/dts/at91-sama5d4_xplained.dtb linux4sam-poky-sama5d4_xplained-4.7
- cp buildroot-at91/output/images/rootfs.ubi linux4sam-poky-sama5d4_xplained-4.7
Close JP7 and reset the board. Only "RomBoot" should be printed on the console. Then open JP7 again.
- ./demo_linux_nandflash.sh (Linux).
Activity is logged on the J23 serial port (115200 8N1)
Copy kernel modules and WILC1000 firmware
Copy the following files /lib/firmware/atmel of the root file system.
- git clone https://github.com/linux4sc/wireless-firmware
- scp wireless-firmware/*.bin root@192.168.2.124:/lib/firmware/atmel
Topic revision: r1 - 2016-02-23 - 15:14:27 -
AndersGrahn