2.4.1 WLAN
The Linux WLAN implements Linux software-specific operations:
- Controls the Wi-Fi® Link Controller device power
- Initializes the chip
- Downloads and starts the firmware
- Initializes/de-initializes the module during insert/remove
- Registers Interrupt Service Register (ISR)
- Sends configuration packets
- Turns ON and turns OFF the chip by controlling the
CHIP_EN
andRESET_N
GPIOs - Registers the net_device interface
- Processes TX Queue, sending packets to the firmware
- Receives packets from the firmware and delivers received packets to the Linux stack
- Implements the following net_device operations:
mac_init_fn
: This function will be called automatically by OS when module insertedwilc_mac_open
: This function is called when this device is set up using theifconfig
command or on starting thewpa_supplicant
servicewilc_mac_close
: This function is called when the network interface is down (for example,ifconfig
wlan0 down)wilc_mac_xmit
: Sends packet to MAC hardwaremac_stats
: Reads MAC statisticswilc_set_multicast_list
: Sets the multicast list through WIDwilc_set_mac_addr
: Sets the network interface MAC address