USBDUX drivers deblobbed by mistake

Alexandre Oliva lxoliva at fsfla.org
Sun Dec 7 21:38:29 UTC 2014


On Nov  1, 2014, Legimet <legimet.calc at gmail.com> wrote:

> I was looking at the list of firmware files in Debian's firmware-linux-free 
> package and found the firmware for a data acquisition unit called USBDUX. It 
> seems that the USBDUX drivers in Linux-libre have been deblobbed by mistake.

Thanks, it was indeed a mistake.

> 2.3.1 (as packaged in Trisquel and other Debian-based distros) and tweaking 
> the makefile so that it doesn't compile its own as31 2.1. I did this and got 
> identical binaries.

Thanks for checking.

> If the deblobbing of these drivers was a mistake, please consider "un-
> deblobbing" them.

I've just adjusted the deblobbing machinery so as to not mess with them
in the upcoming 3.18-gnu.  The comedi firmware loader was adjusted to
rejecting non-Free firmware from other drivers, but to accept these.

I'll give it a bit more testing and then check these changes in, along
with a few others I've been working on.


Index: deblob-3.18
===================================================================
--- deblob-3.18	(revision 11729)
+++ deblob-3.18	(working copy)
@@ -2270,7 +2281,7 @@
 ####################
 
 announce COMEDI - "Data acquisition support (comedi)"
-reject_firmware drivers/staging/comedi/drivers.c
+maybe_reject_firmware drivers/staging/comedi/drivers.c
 clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI'
 clean_mk CONFIG_COMEDI drivers/staging/comedi/Makefile
 
@@ -2294,22 +2305,7 @@
 clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_NI_PCIDIO'
 clean_mk CONFIG_COMEDI_NI_PCIDIO drivers/staging/comedi/drivers/Makefile
 
-announce COMEDI_USBDUX - "ITL USBDUX support"
-clean_blob drivers/staging/comedi/drivers/usbdux.c
-clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USBDUX'
-clean_mk CONFIG_COMEDI_USBDUX drivers/staging/comedi/drivers/Makefile
 
-announce COMEDI_USBDUXFAST - "ITL USB-DUXfast support"
-clean_blob drivers/staging/comedi/drivers/usbduxfast.c
-clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USBDUXFAST'
-clean_mk CONFIG_COMEDI_USBDUXFAST drivers/staging/comedi/drivers/Makefile
-
-announce COMEDI_USBDUXSIGMA - "ITL USB-DUXsigma support"
-clean_blob drivers/staging/comedi/drivers/usbduxsigma.c
-clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USBDUXSIGMA'
-clean_mk CONFIG_COMEDI_USBDUXSIGMA drivers/staging/comedi/drivers/Makefile
-
-
 #######
 # MMC #
 #######
Index: deblob-check
===================================================================
--- deblob-check	(revision 11729)
+++ deblob-check	(working copy)
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# deblob-check version 2014-11-25
+# deblob-check version 2014-12-07
 # Inspired in gNewSense's find-firmware script.
 # Written by Alexandre Oliva <lxoliva at fsfla.org>
 
@@ -2243,7 +2243,10 @@
     blobname '3826\.arm' 'drivers/\(net/wireless/p54/p54spi\|staging/stlc45xx/stlc45xx\)\.c'
     defsnc 'static[ ]unsigned[ ]char[ ]p54spi_eeprom\[\][ ]=' drivers/net/wireless/p54/p54spi_eeprom.h
     blobname '\(comedi[/]\)\?jr3pci\.idm\(["]\.[\n][ ][*][/]\)\?' drivers/staging/comedi/drivers/jr3_pci.c
-    blobname 'usbdux\(fast\)\?_firmware\.\(hex\|bin\)' 'drivers/staging/comedi/drivers/usbdux\(fast\)\?\.c'
+    accept '#define[ ]USBDUX_FIRMWARE[ \t]*["]usbdux_firmware\.bin["]' drivers/staging/comedi/drivers/usbdux.c
+    accept 'MODULE_FIRMWARE[(]USBDUX_FIRMWARE[)][;]' drivers/staging/comedi/drivers/usbdux.c
+    accept '#define[ ]FIRMWARE[ \t]*["]usbduxfast_firmware\.bin["]' drivers/staging/comedi/drivers/usbduxfast.c
+    accept 'MODULE_DESCRIPTION[(]["]USB-DUXfast[^"]*["][)][;][\n]MODULE_LICENSE[(]["]GPL["][)][;][\n]MODULE_FIRMWARE[(]FIRMWARE[)][;]' drivers/staging/comedi/drivers/usbduxfast.c
     blobname 'RT30xxEEPROM\.bin' drivers/staging/rt3070/common/eeprom.c
     defsnc 'static[ ]const[ ]u8[ ]default_cal_\(channels\|rssi\)\[\][ ]=' drivers/staging/stlc45xx/stlc45xx.c
     accept '[	][	]stlc45xx_error[(]["]request_firmware[(][)][ ]failed' drivers/staging/stlc45xx/stlc45xx.c
@@ -2953,7 +2956,8 @@
     blobname '%s[/]bdata\.%s\.bin' drivers/net/wireless/ath/ath6kl/init.c
     blobna 'Used[ ][(]for[ ]now[)][^*]*\([*]\+[^/*][^*]*\)*[*]*["]bdata\.bin["][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' drivers/net/wireless/ath/ath6kl/init.c
     blobname 'mrvl[/]pcie8766_uapsta\.bin' 'drivers/net/wireless/mwifiex/pcie\.[ch]'
-    blobname 'usbduxsigma_firmware\.bin' drivers/staging/comedi/drivers/usbduxsigma.c
+    accept '#define[ ]FIRMWARE[ \t]*["]usbduxsigma_firmware\.bin["]' drivers/staging/comedi/drivers/usbduxsigma.c
+    accept 'MODULE_DESCRIPTION[(]["]Stirling[/]ITL[ ]USB-DUX[ ]SIGMA[^"]*["][)][;][\n]MODULE_LICENSE[(]["]GPL["][)][;][\n]MODULE_FIRMWARE[(]FIRMWARE[)][;]' drivers/staging/comedi/drivers/usbduxsigma.c
     blobname 'as102_data[12]_[sd]t\.hex' drivers/staging/media/as102/as102_fw.c
     blob 'u8[ ]Rtl8192PciEFw\(Boot\|Main\|Data\)Array\[\(Boot\|Main\|Data\)ArrayLengthPciE\][ ]=[ ][{][^}]*[}][;]' drivers/staging/rtl8192e/r8192E_hwimg.c
     blobna '\([&]\|sizeof[(]\)Rtl8192PciEFw\(Boot\|Main\|Data\)Array\(\[0\]\|[)]\)\(,[ 	\n]*\([&]\|sizeof[(]\)Rtl8192PciEFw\(Boot\|Main\|Data\)Array\(\[0\]\|[)]\)\)*' drivers/staging/rtl8192e/r8192E_firmware.c


-- 
Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist|Red Hat Brasil GNU Toolchain Engineer


More information about the linux-libre mailing list