27
Linux Wireless Drivers Freedom considered harmful? Felix Fietkau <[email protected]> 2015-12-30

Linux Wireless Drivers - CCC

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Linux Wireless Drivers - CCC

Linux Wireless DriversFreedom considered harmful?

Felix Fietkau <[email protected]>2015-12-30

Page 2: Linux Wireless Drivers - CCC

Introduction

• OpenWrt developer for >10 years• Involved with Linux wireless drivers almost as long• Main focus: access points and mesh nodes• Preference for widely available consumer devices

2

Page 3: Linux Wireless Drivers - CCC

Why do we need free 802.11 drivers?

• Security• Stability• Maintenance costs / complexity• Interesting research projects• Features not deemed relevant by vendors

3

Page 4: Linux Wireless Drivers - CCC

My journey through LinuxWireless

Page 5: Linux Wireless Drivers - CCC

Early days: Broadcom BCM47xx

• Binary-only driver for Linux 2.4• Kernel hacks to deal with ABI changes• Later partially replaced by b43

5

Page 6: Linux Wireless Drivers - CCC

Early days: MadWiFi

• More ’free’ than the Broadcom blob• Still non-free binary parts• No kernel dependent binaries anymore

6

Page 7: Linux Wireless Drivers - CCC

ath5k

• Finally a free replacement for MadWiFi• Based on reverse engineering• Useful prototype for developing mac80211 features

7

Page 8: Linux Wireless Drivers - CCC

ath9k

• Developed by Atheros• Initial development driven by Laptop customer demand• Strong push from community people to open more code / documentation• Actually became stable enough for commercial use• Used by some embedded hardware vendors

8

Page 9: Linux Wireless Drivers - CCC

ath9k - Issues with Atheros (later QCA)

• Progress often prevented by high turnover• Constant need to justify the development cost• Very limited resources• Crazy ideas about syncing with proprietary codebase• Being obsoleted by ath10k

9

Page 10: Linux Wireless Drivers - CCC

My current project: mt76

• Driver for current MediaTek 802.11ac chipsets• Driver development contracted by MediaTek• Proprietary (but very small) firmware• Driver controls entire data path• Not as free as ath9k, but usable

10

Page 11: Linux Wireless Drivers - CCC

What’s wrong with ath10k?

Page 12: Linux Wireless Drivers - CCC

What’s wrong with ath10k?

12

Page 13: Linux Wireless Drivers - CCC

What’s wrong with ath10k?

13

Page 14: Linux Wireless Drivers - CCC

What’s wrong with ath10k?

14

Page 15: Linux Wireless Drivers - CCC

What’s wrong with ath10k?

15

Page 16: Linux Wireless Drivers - CCC

What about other vendors?

Page 17: Linux Wireless Drivers - CCC

What about other vendors?

• Broadcom: main focus on fullmac devices, no progress on softmac• Marvell: comparable to ath10k, limited driver capabilities• Intel: too much firmware, very limited AP support• Realtek: limited driver capabilities

17

Page 18: Linux Wireless Drivers - CCC

Challenges and opportunities

Page 19: Linux Wireless Drivers - CCC

On chipset vendors

• Educating chipset vendors is hard• Often not sustainable• Customer demand acts much faster

• Can we engineer customer demand for free drivers?

19

Page 20: Linux Wireless Drivers - CCC

On chipset vendors

• Educating chipset vendors is hard• Often not sustainable• Customer demand acts much faster• Can we engineer customer demand for free drivers?

19

Page 21: Linux Wireless Drivers - CCC

Customer demand

• Educate big customers with enough volume• Provide good reference code and examples• Support GPL enforcement action

20

Page 22: Linux Wireless Drivers - CCC

The FCC mess

• FCC noticed WiFi equipment interference with weather radar• Treats user access to flexible radio devices as a bug• New rules shifting responsibility to device vendors• Strong backlash from the tech community• Revised rules just as bad as original ones• Potential secondary gain for another spectrum user (LTE-U)

• Similar problems in EU

21

Page 23: Linux Wireless Drivers - CCC

The FCC mess

• FCC noticed WiFi equipment interference with weather radar• Treats user access to flexible radio devices as a bug• New rules shifting responsibility to device vendors• Strong backlash from the tech community• Revised rules just as bad as original ones• Potential secondary gain for another spectrum user (LTE-U)• Similar problems in EU

21

Page 24: Linux Wireless Drivers - CCC

Hardware lockdown

• Chipset vendors considering hardware lockdown• Some router manufacturers already doing it• Provides a convenient excuse for not opening up• Also used for market segmentation

22

Page 25: Linux Wireless Drivers - CCC

What can we do?

Page 26: Linux Wireless Drivers - CCC

What can we do?

• Spread the word on the FCC issue• Disclose security / design issues in existing products• Help write free 802.11 drivers• Create material to educate vendor decision makers• ...

24

Page 27: Linux Wireless Drivers - CCC

Questions?

25