SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Broadcom Wifi Driver
Midhun Lohidakshan
Today’s Topics
● Brief about 802.11 standard.
● MAC layer frames
● MLME
● SoftMAC and HardMAC
● Broadcom bcm43xx chipsets
● Tx path and Rx path of brcmsmac driver
● Mac80211 debugfs
● Live demonstration
802.11 Wireless Standard
● Created in 1997
● Targeted to standardise PHY and MAC layers which are two lowest OSI layers.
● Initially for the PHY layer, 2 frequency bands were chosen : Infra Red ( IR ) band and Microwave Band
( 2.4 GHz )
● 802.11a standard brought 5GHz frequency.
IEEE
802.11
MAC
Sublayer
The 802.11 MAC Header
Frame Control
MAC layer frames
MAC layer uses 3 types of frames
● Management
● Data
● Control
Management Frames
1. Association Request - Association Response
2. Reassociation Request - Reassociation Response
3. Probe Request - Probe Response
4. Beacon
5. ATIM
6. Disassociation
7. Authentication - Deauthentication
8. Action
Control Frames
1. Power Save ( PS - Poll )
2. RTS
3. CTS
4. Acknowledgement
5. Contention Free
6. CF-End + CF-Ack
Data Frames
1. Data
2. Data + CF-ACK
3. Data + CF-Poll
4. Data + CF-ACK + CF-Poll
5. Null Data
6. CF-Ack
7. CF-Poll
8. Data + CF-Ack + CF-Poll
MAC subLayer Management Entity ( MLME )
● MLME is the management entity where the Physical layer ( PHY ) MAC state machine resides.
● Based on the location of the core that processes MLME, 2 types MAC layer implementations are available - SoftMAC
and FullMAC ( HardMAC )
● Soft MAC
○ MLME is running in the Linux Kernel Module ( LKM )
○ Mac80211 is a driver API for SoftMAC WNIC
● Full MAC ( Hard MAC )
○ MLME is managed in hardware.
○ We will not use mac80211 to write FullMAC wireless driver.
SoftMAC vs HardMAC
HardMAC/FullMAC devices SoftMAC devices
Proprietary Implementations Lower Hardware Cost
Less CPU load Possibility to upgrade to newer standards
by updating the driver only.
Better power consumption and
performance. Hence used in smartphones
Possibility to correct faults in the MAC
implementation.
No monitor mode Different drivers for different WNIC can all
share the same MAC implementation
Broadcom bcm43xxx chipset
● Bcm43xxx series have both HardMAC and SoftMAC cards.
● Some chips are integrated both WLAN and Bluetooth functionalities.
○ Eg - bcm4339, bcm4330
● Main MCU of the chipset is ARM Cortex-M3/ ARM Cortex-R4
bcm43xxx Chip Components
● ARM Cortex ( M3 or R4 )
● ROM
● RAM
● D11 Core
● 802.11 PHY
● 2.4 or 5 GHz radio
D11 Core
● Does all time critical operations
Firmware
● Firmwares used by these chips are split into two parts.
● Read-only part is written into the ROM.
● Read-Write part is uploaded by the device driver to the chip’s RAM.
● RAM portion of the firmware can be updated when new features arrives.
Host Driver Interface
● USB
● SDIO
● PCIe
Chip Model MAC Type MCU Bus Interface Driver Host Device
bcm4339 FullMAC ARM Cortex R4 SDIO bcmdhd Nexus 5
bcm4330 FullMAC ARM Cortex M3 SDIO bcmdhd Samsung Galaxy Y
bcm43430 FullMAC ARM Cortex M3 SDIO brcmfmac Raspberry PI 3B
bcm4352 FullMAC ARM Cortex M3 PCIe wl Dell XPS laptop
bcm43236 SoftMAC ARM Cortex R4 USB wl SFR mini decoder TV
Interface details of bcm43xxx chipsets
Types of bcm43xxx device drivers
No Device Driver OS MAC type Driver Source
1 b43 Linux SoftMAC OpenSource
2 brcmsmac Linux SoftMAC OpenSource
3 brcmfmac Linux FullMAC OpenSource
4 brcmdhd Android FullMAC OpenSource
5 broadcom-sta aka 'wl' Linux SoftMAC & FullMAC Proprietary
WiFi Stack on Linux
Data Path and
Control Path in
Wireless
Subsystem
Tx Path in
MAC80211
Tx Path :
Kernel ->
mac80211 ->
brcmsmac
Rx Path:
Device
Driver->
mac80211
Mac80211 Debugfs
● Debugfs is a technique that enables exporting debugging information to the userspace.
● It creates entries under the sysfs filesystem.
● For mac80211 , debugfs implemented at net/mac80211/debugfs.c
● After mounting debugfs, various mac80211 statistics and information entries can be visualised.
● Mounting debugfs is performed via below command
○ mount -t debugfs none_debugs /sys/kernel/debug
● If wireless phy of our system is phy0, then mac80211 debugfs can be seen at below location.
○ /sys/kernel/debug/ieee80211/phy0
Live Demonstration
1. Output of below commands on Linux system
a. sudo lshw -C network
b. Iw list ( using netlink sockets )
i. Show supported modes
ii. Show supported bands
c. Iw dev ( using netlink sockets )
d. Iwconfig ( using ioctl )
e. watch -n1 "cat /proc/net/wireless" ( Quality of signals )
f. watch -n1 "cat /proc/net/dev" ( device statistics )
g. sudo watch -n1 "cat /sys/kernel/debug/ieee80211/phy0/iwlwifi/iwlmvm/nic_temp" (debugfs)
2. Linux Kernel Code for mac80211, brcmfmac and brcmsmac
Questions ?

Weitere ähnliche Inhalte

Was ist angesagt?

Juniper mpls best practice part 2
Juniper mpls best practice   part 2Juniper mpls best practice   part 2
Juniper mpls best practice part 2Febrian ‎
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughThomas Graf
 
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service ProvidersCisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service ProvidersBruno Teixeira
 
VXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksVXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksAPNIC
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelDivye Kapoor
 
Chassis Cluster Configuration
Chassis Cluster ConfigurationChassis Cluster Configuration
Chassis Cluster ConfigurationKashif Latif
 
LTE network: How it all comes together architecture technical poster
LTE network: How it all comes together architecture technical posterLTE network: How it all comes together architecture technical poster
LTE network: How it all comes together architecture technical posterDavid Swift
 
Introduction to nexux from zero to Hero
Introduction to nexux  from zero to HeroIntroduction to nexux  from zero to Hero
Introduction to nexux from zero to HeroDhruv Sharma
 
Demystifying EVPN in the data center: Part 1 in 2 episode series
Demystifying EVPN in the data center: Part 1 in 2 episode seriesDemystifying EVPN in the data center: Part 1 in 2 episode series
Demystifying EVPN in the data center: Part 1 in 2 episode seriesCumulus Networks
 
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLANIndonesia Network Operators Group
 
IMS ENUM and DNS Mechanism
IMS ENUM and DNS MechanismIMS ENUM and DNS Mechanism
IMS ENUM and DNS MechanismKent Loh
 
MPLS L3 VPN Deployment
MPLS L3 VPN DeploymentMPLS L3 VPN Deployment
MPLS L3 VPN DeploymentAPNIC
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 finalKwonSun Bae
 
Basics of firewall, ebtables, arptables and iptables
Basics of firewall, ebtables, arptables and iptablesBasics of firewall, ebtables, arptables and iptables
Basics of firewall, ebtables, arptables and iptablesPrzemysław Piotrowski
 
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめTetsuya Hasegawa
 
Sapc upcc-pcrf- part 2 tbp
Sapc upcc-pcrf- part 2 tbpSapc upcc-pcrf- part 2 tbp
Sapc upcc-pcrf- part 2 tbpMustafa Golam
 

Was ist angesagt? (20)

EVPN Introduction
EVPN IntroductionEVPN Introduction
EVPN Introduction
 
Juniper mpls best practice part 2
Juniper mpls best practice   part 2Juniper mpls best practice   part 2
Juniper mpls best practice part 2
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
 
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service ProvidersCisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
 
VXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksVXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building Blocks
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux Kernel
 
Chassis Cluster Configuration
Chassis Cluster ConfigurationChassis Cluster Configuration
Chassis Cluster Configuration
 
LTE network: How it all comes together architecture technical poster
LTE network: How it all comes together architecture technical posterLTE network: How it all comes together architecture technical poster
LTE network: How it all comes together architecture technical poster
 
Network Drivers
Network DriversNetwork Drivers
Network Drivers
 
Juniper Trouble Shooting
Juniper Trouble ShootingJuniper Trouble Shooting
Juniper Trouble Shooting
 
Introduction to nexux from zero to Hero
Introduction to nexux  from zero to HeroIntroduction to nexux  from zero to Hero
Introduction to nexux from zero to Hero
 
Demystifying EVPN in the data center: Part 1 in 2 episode series
Demystifying EVPN in the data center: Part 1 in 2 episode seriesDemystifying EVPN in the data center: Part 1 in 2 episode series
Demystifying EVPN in the data center: Part 1 in 2 episode series
 
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
 
IMS ENUM and DNS Mechanism
IMS ENUM and DNS MechanismIMS ENUM and DNS Mechanism
IMS ENUM and DNS Mechanism
 
MPLS L3 VPN Deployment
MPLS L3 VPN DeploymentMPLS L3 VPN Deployment
MPLS L3 VPN Deployment
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 final
 
Basics of firewall, ebtables, arptables and iptables
Basics of firewall, ebtables, arptables and iptablesBasics of firewall, ebtables, arptables and iptables
Basics of firewall, ebtables, arptables and iptables
 
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ
 
Sapc upcc-pcrf- part 2 tbp
Sapc upcc-pcrf- part 2 tbpSapc upcc-pcrf- part 2 tbp
Sapc upcc-pcrf- part 2 tbp
 
Cisco nx os
Cisco nx os Cisco nx os
Cisco nx os
 

Ähnlich wie Linux 802.11 subsystem and brcmsmac WLAN driver

Broadcom net xtreme_server_205
Broadcom net xtreme_server_205Broadcom net xtreme_server_205
Broadcom net xtreme_server_205UFPa
 
Survey: Embedded Systems In Power Industry
Survey: Embedded Systems In Power IndustrySurvey: Embedded Systems In Power Industry
Survey: Embedded Systems In Power IndustryShrey Bhatnagar
 
SIEMENS PXG3.L BACnet/IP Router
SIEMENS PXG3.L BACnet/IP RouterSIEMENS PXG3.L BACnet/IP Router
SIEMENS PXG3.L BACnet/IP RouterCONTROLS & SYSTEMS
 
MYC-Y6ULX CPU Module - NXP i.MX 6UL/6ULL System-on-Module
MYC-Y6ULX CPU Module - NXP i.MX 6UL/6ULL System-on-ModuleMYC-Y6ULX CPU Module - NXP i.MX 6UL/6ULL System-on-Module
MYC-Y6ULX CPU Module - NXP i.MX 6UL/6ULL System-on-ModuleLinda Zhang
 
Tablet in 2012
Tablet in 2012Tablet in 2012
Tablet in 2012JJ Wu
 
XBMC USB Controller for Media Center PCs
XBMC USB Controller for Media Center PCsXBMC USB Controller for Media Center PCs
XBMC USB Controller for Media Center PCsDilshan Jayakody
 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernetRoman Brovko
 
High-performance ARM SoM Powered by NXP i.MX 8M
High-performance ARM SoM Powered by NXP i.MX 8MHigh-performance ARM SoM Powered by NXP i.MX 8M
High-performance ARM SoM Powered by NXP i.MX 8MLinda Zhang
 
Webinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP seguraWebinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP seguraEmbarcados
 
Introducing i.MX233 Application Processors
Introducing i.MX233 Application ProcessorsIntroducing i.MX233 Application Processors
Introducing i.MX233 Application ProcessorsPremier Farnell
 
Basic Study on the WT12 Family of Bluetooth Devices
Basic Study on the WT12 Family of Bluetooth DevicesBasic Study on the WT12 Family of Bluetooth Devices
Basic Study on the WT12 Family of Bluetooth DevicesPremier Farnell
 
Driver Development for applications of networking services for a WAVE based d...
Driver Development for applications of networking services for a WAVE based d...Driver Development for applications of networking services for a WAVE based d...
Driver Development for applications of networking services for a WAVE based d...Janith Rukman
 
Microcontrolador STM32WL55 - Fazendo uma aplicação LORAWAN do zero em poucos ...
Microcontrolador STM32WL55 - Fazendo uma aplicação LORAWAN do zero em poucos ...Microcontrolador STM32WL55 - Fazendo uma aplicação LORAWAN do zero em poucos ...
Microcontrolador STM32WL55 - Fazendo uma aplicação LORAWAN do zero em poucos ...Embarcados
 
Best practices for catalyst 4500 4000, 5500-5000, and 6500-6000 series switch...
Best practices for catalyst 4500 4000, 5500-5000, and 6500-6000 series switch...Best practices for catalyst 4500 4000, 5500-5000, and 6500-6000 series switch...
Best practices for catalyst 4500 4000, 5500-5000, and 6500-6000 series switch...abdenour boussioud
 
Networking of multiple microcontrollers
Networking of multiple microcontrollersNetworking of multiple microcontrollers
Networking of multiple microcontrollersEdgefxkits & Solutions
 
Design and Development of ARM9 Based Embedded Web Server
Design and Development of ARM9 Based Embedded Web ServerDesign and Development of ARM9 Based Embedded Web Server
Design and Development of ARM9 Based Embedded Web ServerIJERA Editor
 
An Overview Study on AVR32UC3 MCU: AT32UC3A3256
An Overview Study on AVR32UC3 MCU: AT32UC3A3256 An Overview Study on AVR32UC3 MCU: AT32UC3A3256
An Overview Study on AVR32UC3 MCU: AT32UC3A3256 Premier Farnell
 

Ähnlich wie Linux 802.11 subsystem and brcmsmac WLAN driver (20)

SudheerV_resume_a
SudheerV_resume_aSudheerV_resume_a
SudheerV_resume_a
 
Broadcom net xtreme_server_205
Broadcom net xtreme_server_205Broadcom net xtreme_server_205
Broadcom net xtreme_server_205
 
Survey: Embedded Systems In Power Industry
Survey: Embedded Systems In Power IndustrySurvey: Embedded Systems In Power Industry
Survey: Embedded Systems In Power Industry
 
SIEMENS PXG3.L BACnet/IP Router
SIEMENS PXG3.L BACnet/IP RouterSIEMENS PXG3.L BACnet/IP Router
SIEMENS PXG3.L BACnet/IP Router
 
MYC-Y6ULX CPU Module - NXP i.MX 6UL/6ULL System-on-Module
MYC-Y6ULX CPU Module - NXP i.MX 6UL/6ULL System-on-ModuleMYC-Y6ULX CPU Module - NXP i.MX 6UL/6ULL System-on-Module
MYC-Y6ULX CPU Module - NXP i.MX 6UL/6ULL System-on-Module
 
Tablet in 2012
Tablet in 2012Tablet in 2012
Tablet in 2012
 
Product Brief- Nano SOM
Product Brief- Nano SOMProduct Brief- Nano SOM
Product Brief- Nano SOM
 
XBMC USB Controller for Media Center PCs
XBMC USB Controller for Media Center PCsXBMC USB Controller for Media Center PCs
XBMC USB Controller for Media Center PCs
 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernet
 
High-performance ARM SoM Powered by NXP i.MX 8M
High-performance ARM SoM Powered by NXP i.MX 8MHigh-performance ARM SoM Powered by NXP i.MX 8M
High-performance ARM SoM Powered by NXP i.MX 8M
 
Userspace networking
Userspace networkingUserspace networking
Userspace networking
 
Webinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP seguraWebinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP segura
 
Introducing i.MX233 Application Processors
Introducing i.MX233 Application ProcessorsIntroducing i.MX233 Application Processors
Introducing i.MX233 Application Processors
 
Basic Study on the WT12 Family of Bluetooth Devices
Basic Study on the WT12 Family of Bluetooth DevicesBasic Study on the WT12 Family of Bluetooth Devices
Basic Study on the WT12 Family of Bluetooth Devices
 
Driver Development for applications of networking services for a WAVE based d...
Driver Development for applications of networking services for a WAVE based d...Driver Development for applications of networking services for a WAVE based d...
Driver Development for applications of networking services for a WAVE based d...
 
Microcontrolador STM32WL55 - Fazendo uma aplicação LORAWAN do zero em poucos ...
Microcontrolador STM32WL55 - Fazendo uma aplicação LORAWAN do zero em poucos ...Microcontrolador STM32WL55 - Fazendo uma aplicação LORAWAN do zero em poucos ...
Microcontrolador STM32WL55 - Fazendo uma aplicação LORAWAN do zero em poucos ...
 
Best practices for catalyst 4500 4000, 5500-5000, and 6500-6000 series switch...
Best practices for catalyst 4500 4000, 5500-5000, and 6500-6000 series switch...Best practices for catalyst 4500 4000, 5500-5000, and 6500-6000 series switch...
Best practices for catalyst 4500 4000, 5500-5000, and 6500-6000 series switch...
 
Networking of multiple microcontrollers
Networking of multiple microcontrollersNetworking of multiple microcontrollers
Networking of multiple microcontrollers
 
Design and Development of ARM9 Based Embedded Web Server
Design and Development of ARM9 Based Embedded Web ServerDesign and Development of ARM9 Based Embedded Web Server
Design and Development of ARM9 Based Embedded Web Server
 
An Overview Study on AVR32UC3 MCU: AT32UC3A3256
An Overview Study on AVR32UC3 MCU: AT32UC3A3256 An Overview Study on AVR32UC3 MCU: AT32UC3A3256
An Overview Study on AVR32UC3 MCU: AT32UC3A3256
 

Kürzlich hochgeladen

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Kürzlich hochgeladen (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Linux 802.11 subsystem and brcmsmac WLAN driver

  • 2. Today’s Topics ● Brief about 802.11 standard. ● MAC layer frames ● MLME ● SoftMAC and HardMAC ● Broadcom bcm43xx chipsets ● Tx path and Rx path of brcmsmac driver ● Mac80211 debugfs ● Live demonstration
  • 3. 802.11 Wireless Standard ● Created in 1997 ● Targeted to standardise PHY and MAC layers which are two lowest OSI layers. ● Initially for the PHY layer, 2 frequency bands were chosen : Infra Red ( IR ) band and Microwave Band ( 2.4 GHz ) ● 802.11a standard brought 5GHz frequency.
  • 5. The 802.11 MAC Header Frame Control
  • 6. MAC layer frames MAC layer uses 3 types of frames ● Management ● Data ● Control
  • 7. Management Frames 1. Association Request - Association Response 2. Reassociation Request - Reassociation Response 3. Probe Request - Probe Response 4. Beacon 5. ATIM 6. Disassociation 7. Authentication - Deauthentication 8. Action
  • 8. Control Frames 1. Power Save ( PS - Poll ) 2. RTS 3. CTS 4. Acknowledgement 5. Contention Free 6. CF-End + CF-Ack
  • 9. Data Frames 1. Data 2. Data + CF-ACK 3. Data + CF-Poll 4. Data + CF-ACK + CF-Poll 5. Null Data 6. CF-Ack 7. CF-Poll 8. Data + CF-Ack + CF-Poll
  • 10. MAC subLayer Management Entity ( MLME ) ● MLME is the management entity where the Physical layer ( PHY ) MAC state machine resides. ● Based on the location of the core that processes MLME, 2 types MAC layer implementations are available - SoftMAC and FullMAC ( HardMAC ) ● Soft MAC ○ MLME is running in the Linux Kernel Module ( LKM ) ○ Mac80211 is a driver API for SoftMAC WNIC ● Full MAC ( Hard MAC ) ○ MLME is managed in hardware. ○ We will not use mac80211 to write FullMAC wireless driver.
  • 11. SoftMAC vs HardMAC HardMAC/FullMAC devices SoftMAC devices Proprietary Implementations Lower Hardware Cost Less CPU load Possibility to upgrade to newer standards by updating the driver only. Better power consumption and performance. Hence used in smartphones Possibility to correct faults in the MAC implementation. No monitor mode Different drivers for different WNIC can all share the same MAC implementation
  • 12. Broadcom bcm43xxx chipset ● Bcm43xxx series have both HardMAC and SoftMAC cards. ● Some chips are integrated both WLAN and Bluetooth functionalities. ○ Eg - bcm4339, bcm4330 ● Main MCU of the chipset is ARM Cortex-M3/ ARM Cortex-R4
  • 13. bcm43xxx Chip Components ● ARM Cortex ( M3 or R4 ) ● ROM ● RAM ● D11 Core ● 802.11 PHY ● 2.4 or 5 GHz radio
  • 14. D11 Core ● Does all time critical operations Firmware ● Firmwares used by these chips are split into two parts. ● Read-only part is written into the ROM. ● Read-Write part is uploaded by the device driver to the chip’s RAM. ● RAM portion of the firmware can be updated when new features arrives.
  • 15. Host Driver Interface ● USB ● SDIO ● PCIe Chip Model MAC Type MCU Bus Interface Driver Host Device bcm4339 FullMAC ARM Cortex R4 SDIO bcmdhd Nexus 5 bcm4330 FullMAC ARM Cortex M3 SDIO bcmdhd Samsung Galaxy Y bcm43430 FullMAC ARM Cortex M3 SDIO brcmfmac Raspberry PI 3B bcm4352 FullMAC ARM Cortex M3 PCIe wl Dell XPS laptop bcm43236 SoftMAC ARM Cortex R4 USB wl SFR mini decoder TV Interface details of bcm43xxx chipsets
  • 16. Types of bcm43xxx device drivers No Device Driver OS MAC type Driver Source 1 b43 Linux SoftMAC OpenSource 2 brcmsmac Linux SoftMAC OpenSource 3 brcmfmac Linux FullMAC OpenSource 4 brcmdhd Android FullMAC OpenSource 5 broadcom-sta aka 'wl' Linux SoftMAC & FullMAC Proprietary
  • 17. WiFi Stack on Linux
  • 18. Data Path and Control Path in Wireless Subsystem
  • 20. Tx Path : Kernel -> mac80211 -> brcmsmac
  • 22. Mac80211 Debugfs ● Debugfs is a technique that enables exporting debugging information to the userspace. ● It creates entries under the sysfs filesystem. ● For mac80211 , debugfs implemented at net/mac80211/debugfs.c ● After mounting debugfs, various mac80211 statistics and information entries can be visualised. ● Mounting debugfs is performed via below command ○ mount -t debugfs none_debugs /sys/kernel/debug ● If wireless phy of our system is phy0, then mac80211 debugfs can be seen at below location. ○ /sys/kernel/debug/ieee80211/phy0
  • 24. 1. Output of below commands on Linux system a. sudo lshw -C network b. Iw list ( using netlink sockets ) i. Show supported modes ii. Show supported bands c. Iw dev ( using netlink sockets ) d. Iwconfig ( using ioctl ) e. watch -n1 "cat /proc/net/wireless" ( Quality of signals ) f. watch -n1 "cat /proc/net/dev" ( device statistics ) g. sudo watch -n1 "cat /sys/kernel/debug/ieee80211/phy0/iwlwifi/iwlmvm/nic_temp" (debugfs) 2. Linux Kernel Code for mac80211, brcmfmac and brcmsmac