[MLUG] Linux kernel drivers source has binary blobs?

David Montminy david.montminy at gmail.com
Thu Mar 26 09:24:24 EDT 2009


I just read this article 
http://libresoft.es/Members/herraiz/blog/linux-is-not-free-software
It state the some Linux kernel drivers includes binary blobs.

In the interest of information, I have included the list of drivers here 
(and what the files represent):
-Commodore A2232 serial board driver
    * drivers/char/ser_a2232fw.h
    * drivers/char/ser_a2232fw.ax

-Intel's IXP2000 family of NPUs (IXP2400, IXP2800, IXP2850)
    * drivers/net/ixp2000/ixp2400_rx.ucode
    * drivers/net/ixp2000/ixp2400_rx.uc
    * drivers/net/ixp2000/ixp2400_tx.ucode

-wanXL serial card driver
    * drivers/net/wan/wanxlfw.inc_shipped
    * drivers/net/wan/wanxlfw.S

-Driver for Atmel at76c502 at76c504 and at76c506 wireless cards.
    * drivers/net/wireless/atmel.c

-NCR (or symbios) 53c700 and 53c700-66 chip
    * drivers/scsi/53c700_d.h_shipped
    * drivers/scsi/53c700.scr

-Adaptec U320 device driver firmware
    * drivers/scsi/aic7xxx/aic79xx_seq.h_shipped
    * drivers/scsi/aic7xxx/aic79xx.seq

-Adaptec 274x/284x/294x device driver firmware
    * drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped
    * drivers/scsi/aic7xxx/aic7xxx.seq
    * drivers/scsi/aic7xxx_old/aic7xxx_seq.c
    * drivers/scsi/aic7xxx_old/aic7xxx.seq
    * drivers/scsi/53c7xx_d.h_shipped
    * drivers/scsi/53c7xx.scr

-Device driver for the SYMBIOS/LSILOGIC 53C8XX and 53C1010 family of 
PCI-SCSI IO processors.
    * drivers/scsi/sym53c8xx_2/sym_fw1.h
    * drivers/scsi/sym53c8xx_2/sym_fw2.h
   
-DSP56001 bootstrap code
    * firmware/dsp56k/bootstrap.bin.ihex
    * firmware/dsp56k/bootstrap.asm
   
-Firmware for the Keyspan PDA Serial Adapter, a USB serial port based on 
the EzUSB microcontroller.
    * firmware/keyspan_pda/keyspan_pda.HEX
    * firmware/keyspan_pda/keyspan_pda.S
    * firmware/keyspan_pda/xircom_pgs.HEX
    * firmware/keyspan_pda/xircom_pgs.S

--This code runs inside the DSP (cs4610, cs4612, cs4624, or cs4630)
    * sound/pci/cs46xx/imgs/cwcdma.h
    * sound/pci/cs46xx/imgs/cwcdma.asp

I get the feeling that most of these blobs are actually compiled firware 
code from the associated .C files but I don't have time to check...

... And I don't have any of this hardware :)

David Montminy
P.S.: The weird thing is that some of these blobs seems to come from 
NetBSD and FreeBSD... So if these really are black boxes the Linux 
kernel is not the only one with blobs...


More information about the mlug mailing list