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

  1. git clone
  2. cd buildroot-at91
  3. git checkout origin/buildroot-2014.05-at91 -b my_branch
  4. make sama5d4_defconfig
  5. make menuconfig
Apply the default configuration
  1. cp /path/to/sam5d4_wilc1000.config .config
OR select the following options manually

  1. System configuration --> /dev management (Dynamic using eudev)
  2. Kernel --> Linux Kernel --> Kernel version --> Custom Git repository
  3. URL of custom repository --> Enter ""
  4. Custom repository version --> Enter "9e27b1517a0d9c83b410c9f1361f06eacbac77b9"
  5. Defconfig name --> Enter "sama5d4"
  6. Device tree support --> Device Tree Source file names --> Enter
  7. "at91-sama5d4_xplained at91-sama5d4_xplained_hdmi at91-sama5d4_xplained_pda4"
  8. Target packages --> Libraries --> Networking --> libnl
  9. Target packages --> Libraries --> Crypto --> openssl (enable all)
  10. Target packages --> Networking applications -> dhcp (ISC) (enable all)
  11. Target packages --> Networking applications -> dhcpd
  12. Target packages --> Networking applications -> hostapd (enable all)
  13. Target packages --> Networking applications -> iperf
  14. Target packages --> Networking applications -> iw
  15. Target packages --> Networking applications -> wpa_supplicant
  16. Target packages --> Networking applications -> wireless tools


  1. make -j1

Linux Kernel with HDG200B Support

  1. git clone
  2. cd linux-at91
  3. git checkout origin/linux-3.10-at91 -b linux-3.10-at91
  4. git clone ./drivers/net/wireless/atmel
Include HDG200B support in the kernel configuration. In linux-at91/drivers/net/wireless/Kconfig add the following line
  1. source "drivers/net/wireless/atmel/Kconfig"
In linux-at91/drivers/net/wireless/Makefile add the following line
  1. obj-$(CONFIG_ATMEL_SMARTCONNECT) += atmel/
Configure the Kernel
  1. make ARCH=arm sama5d4_defconfig
  2. make ARCH=arm menuconfig
Apply the following configuration
  1. Networking support -> Wireless -> cfg80211
  2. Device Driver -> Network device support -> Wireless LAN ->
  3. Atmel SmartConnect Wireless cards Driver -> WILC1000 Support
Build the Kernel
  1. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
  2. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- zImage
  3. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs
  4. 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.

  1. wget
  2. unzip
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.
  1. cp linux-at91/arch/arm/boot/zImage linux4sam-poky-sama5d4_xplained-4.7
  2. cp linux-at91/arch/arm/boot/dts/at91-sama5d4_xplained.dtb linux4sam-poky-sama5d4_xplained-4.7
  3. 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.
  1. ./ (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.

  1. git clone
  2. scp wireless-firmware/*.bin root@
Topic revision: r1 - 2016-02-23 - 15:14:27 - AndersGrahn

Log In (Admin Only)

This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback