summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Neumann2016-01-13 12:38:04 +0100
committerMarco Neumann2016-01-13 13:17:42 +0100
commiteb2d7dbca47a22bd7310c51345161bd93c4c9230 (patch)
tree446edde2f7a5e00eaa0818ede4c7735c35c94ea7
parentc3dc8954488e3da8b34b70e5bb73430b2a2a4000 (diff)
downloadaur-eb2d7dbca47a22bd7310c51345161bd93c4c9230.tar.gz
Update to latest upstream (0.6.2)
* Syncs with latest fwinst.sh. * Updates to driver version 0.6.2. This includes the kernel-3.16 and grsecurity patch so we don't need these anymore. * Adds p7zip and wget as a build-time dependencies. * Makes firmware check more secure (MD5->SHA512).
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD20
-rw-r--r--fwinst.patch38
-rw-r--r--grsecurity.patch157
-rw-r--r--kernel-3.16.patch12
5 files changed, 47 insertions, 200 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a77fe367eeb1..619759dc46c5 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,25 +1,25 @@
+# Generated by mksrcinfo v8
+# Wed Jan 13 12:17:23 UTC 2016
pkgbase = sixfireusb-dkms
pkgdesc = Kernel modules for the Terratec DMX6FireUSB soundcard, including firmware
- pkgver = 0.6.1
- pkgrel = 3
+ pkgver = 0.6.2
+ pkgrel = 1
url = http://sourceforge.net/projects/sixfireusb
install = sixfireusb.install
arch = i686
arch = x86_64
license = GPL
+ makedepends = p7zip
+ makedepends = wget
depends = dkms
optdepends = linux-headers: build the module against Arch kernel
- source = http://sourceforge.net/projects/sixfireusb/files/sixfireusb-0.6.1.tar.bz2
+ source = http://sourceforge.net/projects/sixfireusb/files/sixfireusb-0.6.2.tar.bz2
source = http://sourceforge.net/projects/sixfireusb/files/tools/fwinst.sh
- source = kernel-3.16.patch
- source = grsecurity.patch
source = fwinst.patch
source = dkms.conf
- sha512sums = 6428fe074dd2717bcf6f2bdb38b5612694d66254021cc5a627ef5bccf2a7cbfd0e8cb9ca4be4f9855fe89d9be47a9943bbf368d8aec45eda08e4290ede9e9d34
- sha512sums = 84aabf90510c1a42e25e9c07eb4e41f45fa967c1bbf4e89c4f4355a0adcab58727f3f759cecbed078e6f2a17e8eaafc8c55aad77e164ef0539b4eec162e5b5cc
- sha512sums = 9d612518c48873d1ae9bd28a55b7a54cbb8e4836a87cf9c8870ae5038850107539b3b13684610f31aa2543dae3123cc88f02e477a891d2c3baae6157b0151083
- sha512sums = 1c5ed0652f83f68c12c05b6675af85ded4b31696db0c07047555ee028f82ecf5c69a1de3d452e82ee137187254f6c27305ee650cc636e003ba1ebeedc007017a
- sha512sums = f900df734deaab5070fdc7daf43700307259fb82a6846eb3765eff9fbd041eb12fb2f04158105c749f6a06217cd44097e08cc230c5fc76ef3bad078d697ed6b8
+ sha512sums = e79e4a62762626d966fa8c169b8666a0cfa3af8516e6f8a97e1a1d211d1deb1ed26bd2c5c8a4b563e03718c232e832686be783abbb66e5b49c8cc31858752068
+ sha512sums = 2cf369af6f8628796cbc47732335c2c00de8454f20ef06014bf11ba967dd791b3074c85f171964a77a72dd835917f84a85e073ca7194cfdd3a86e841efac0005
+ sha512sums = c2d593bb00d8db87cab31ad1c4684453f167646e5173cab216098c584a9fe530c532513a916397e0923de02dddb0f83256f904e00cbb40dce60234b56fa8a09b
sha512sums = 43880b03da504b390471084e140e3b119080621792a9aad41e92e7372fb56fe88321289419f04ce33687955d45dfff049d3ba9b2df5eefee3d061ecb597372d8
pkgname = sixfireusb-dkms
diff --git a/PKGBUILD b/PKGBUILD
index 90ca667c3c06..b061c4b4b266 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,27 +2,27 @@
# Author (fixes): Marco Neumann <marco@crepererum.net>
pkgname=sixfireusb-dkms
-pkgver=0.6.1
-pkgrel=3
+pkgver=0.6.2
+pkgrel=1
pkgdesc="Kernel modules for the Terratec DMX6FireUSB soundcard, including firmware"
arch=('i686' 'x86_64')
url="http://sourceforge.net/projects/sixfireusb"
license=('GPL')
depends=('dkms')
optdepends=('linux-headers: build the module against Arch kernel')
+makedepends=(
+ 'p7zip'
+ 'wget'
+)
source=(http://sourceforge.net/projects/sixfireusb/files/sixfireusb-$pkgver.tar.bz2
http://sourceforge.net/projects/sixfireusb/files/tools/fwinst.sh
- kernel-3.16.patch
- grsecurity.patch
fwinst.patch
dkms.conf
)
sha512sums=(
- '6428fe074dd2717bcf6f2bdb38b5612694d66254021cc5a627ef5bccf2a7cbfd0e8cb9ca4be4f9855fe89d9be47a9943bbf368d8aec45eda08e4290ede9e9d34'
- '84aabf90510c1a42e25e9c07eb4e41f45fa967c1bbf4e89c4f4355a0adcab58727f3f759cecbed078e6f2a17e8eaafc8c55aad77e164ef0539b4eec162e5b5cc'
- '9d612518c48873d1ae9bd28a55b7a54cbb8e4836a87cf9c8870ae5038850107539b3b13684610f31aa2543dae3123cc88f02e477a891d2c3baae6157b0151083'
- '1c5ed0652f83f68c12c05b6675af85ded4b31696db0c07047555ee028f82ecf5c69a1de3d452e82ee137187254f6c27305ee650cc636e003ba1ebeedc007017a'
- 'f900df734deaab5070fdc7daf43700307259fb82a6846eb3765eff9fbd041eb12fb2f04158105c749f6a06217cd44097e08cc230c5fc76ef3bad078d697ed6b8'
+ 'e79e4a62762626d966fa8c169b8666a0cfa3af8516e6f8a97e1a1d211d1deb1ed26bd2c5c8a4b563e03718c232e832686be783abbb66e5b49c8cc31858752068'
+ '2cf369af6f8628796cbc47732335c2c00de8454f20ef06014bf11ba967dd791b3074c85f171964a77a72dd835917f84a85e073ca7194cfdd3a86e841efac0005'
+ 'c2d593bb00d8db87cab31ad1c4684453f167646e5173cab216098c584a9fe530c532513a916397e0923de02dddb0f83256f904e00cbb40dce60234b56fa8a09b'
'43880b03da504b390471084e140e3b119080621792a9aad41e92e7372fb56fe88321289419f04ce33687955d45dfff049d3ba9b2df5eefee3d061ecb597372d8'
)
install=sixfireusb.install
@@ -30,8 +30,6 @@ install=sixfireusb.install
build() {
patch -Np1 -i fwinst.patch -o fwinst-patched.sh --follow-symlink
cd "${srcdir}"/sixfireusb-$pkgver
- patch -Np1 -i ../kernel-3.16.patch
- patch -Np1 -i ../grsecurity.patch
}
package() {
diff --git a/fwinst.patch b/fwinst.patch
index 66ea1563829d..691aa0e38f74 100644
--- a/fwinst.patch
+++ b/fwinst.patch
@@ -1,6 +1,6 @@
-diff -aur sixfireusb-0.6.1/fwinst.sh sixfireusb-0.6.1/fwinst.sh
---- sixfireusb-0.6.1/fwinst.sh 2015-10-16 17:15:26.986916637 +0200
-+++ sixfireusb-0.6.1/fwinst.sh 2015-10-18 10:48:10.764352290 +0200
+diff -aur sixfireusb-0.6.2/fwinst.sh sixfireusb-0.6.2/fwinst.sh
+--- sixfireusb-0.6.2/fwinst.sh 2016-01-13 12:32:46.658997492 +0100
++++ sixfireusb-0.6.2/fwinst.sh 2016-01-13 12:59:59.438633828 +0100
@@ -19,7 +19,7 @@
# (at your option) any later version.
#
@@ -10,16 +10,18 @@ diff -aur sixfireusb-0.6.1/fwinst.sh sixfireusb-0.6.1/fwinst.sh
export FW_6FIRE_PATH=$FW_PATH/6fire
cleanup() {
rm -Rf /tmp/dmx
-@@ -58,7 +58,7 @@
+@@ -63,8 +63,8 @@
+ fi
step_success
- step_begin "Downloading windows driver"
--if ! wget "http://ftp.terratec.de/Audio/DMX_6fire_USB/Updates/DMX_6fire_USB_Setup_1.23.0.02_XP_Vista_7.exe" -q -O /tmp/dmx.exe ; then
-+if ! wget "http://terratec.ultron.info/Audio/DMX_6fire_USB/Updates/History/Windows/DMX_6fire_USB_Setup_1.23.0.02_XP_Vista_7.exe" -q -O /tmp/dmx.exe ; then
- step_error "Internet connection alive? Perhaps a new driver version is available.\nIf that is the case, please redownload this script."
+-step_begin "Checking MD-5 checksum of windows driver"
+-if ! echo "86049155f9326a77329d87f7b027a8b9 /tmp/dmx.exe" | md5sum -c >/dev/null 2>&1 ; then
++step_begin "Checking SHA512 checksum of windows driver"
++if ! echo "4a71d2cbf092b0c13afc4ec475e9b6eca48f68e3ca47cff96ffb71bc51dea09c0b19a0e90150ac40cbcf231bc3570e187dc9cb447c2a309472c1e237d501c5b1 /tmp/dmx.exe" | sha512sum -c >/dev/null 2>&1 ; then
+ step_error "Downloaded windows driver has wrong MD-5 checksum."
fi
step_success
-@@ -80,15 +80,15 @@
+@@ -80,35 +80,35 @@
step_success
step_begin "Extracting firmware files"
@@ -38,7 +40,23 @@ diff -aur sixfireusb-0.6.1/fwinst.sh sixfireusb-0.6.1/fwinst.sh
step_error "Extraction of file 'dmx6firel2.ihx' failed."
fi
step_success
-@@ -108,7 +108,7 @@
+
+-step_begin "Checking MD-5 checksums of firmware files"
+-if ! echo "fa80973cb8c02097712933bd1d1c23b2 /tmp/dmx6firel2.ihx" | md5sum -c >/dev/null 2>&1 ; then
++step_begin "Checking SHA512 checksums of firmware files"
++if ! echo "6c90f63df6b6a536d5895ac30fcf58ef613ad731d9652f2269f74bae36741527d1ef275d2e50711b0782dfd5e64b0fafcb6c50dcaf5d4910c4200c77ef41ca78 /tmp/dmx6firel2.ihx" | sha512sum -c >/dev/null 2>&1 ; then
+ step_error "File 'dmx6firel2.ihx' has wrong MD-5 checksum."
+ fi
+
+-if ! echo "7497b6b80d43e68f13b6929934ab60f4 /tmp/dmx6fireap.ihx" | md5sum -c >/dev/null 2>&1; then
++if ! echo "2b10c9348cf7ad4296141dd16db0e1b6298020ee5467cc80836f597d5f8d6b01a8276c44a446462de554cf562a11b98de63ae4852dd7ca04408dca5f5cc227c5 /tmp/dmx6fireap.ihx" | sha512sum -c >/dev/null 2>&1; then
+ step_error "File 'dmx6fireap.ihx' has wrong MD-5 checksum."
+ fi
+
+-if ! echo "a65eecc11adc87af7307f5266ad31d65 /tmp/dmx6firecf.bin" | md5sum -c >/dev/null 2>&1 ; then
++if ! echo "ddef0fbeff9e15e0bdcbfff8767c49adb3a0f08b68c0bcf1e38e666b03a2bafef672a2bec0918a75780ebaa477627ef639443d0adeaeacea3d56af1b66acb85f /tmp/dmx6firecf.bin" | sha512sum -c >/dev/null 2>&1 ; then
+ step_error "File 'dmx6firecf.bin' has wrong MD-5 checksum."
+ fi
step_success
step_begin "Installing firmware files"
diff --git a/grsecurity.patch b/grsecurity.patch
deleted file mode 100644
index 94c342d47658..000000000000
--- a/grsecurity.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-diff -aur sixfireusb-0.6.1/firmware.c sixfireusb-0.6.1/firmware.c
---- sixfireusb-0.6.1/firmware.c 2014-08-15 18:33:06.000000000 +0200
-+++ sixfireusb-0.6.1/firmware.c 2014-12-11 00:40:40.234928691 +0100
-@@ -207,7 +207,7 @@
- unsigned int postaddr, u8 *postdata, unsigned int postlen)
- {
- int ret;
-- u8 data;
-+ u8 *data;
- struct usb_device *device = interface_to_usbdev(intf);
- const struct firmware *fw = NULL;
- struct ihex_record *rec = kmalloc(sizeof(struct ihex_record),
-@@ -216,8 +216,15 @@
- if (!rec)
- return -ENOMEM;
-
-+ data = kmalloc(1, GFP_KERNEL);
-+ if (!data) {
-+ kfree(rec);
-+ return -ENOMEM;
-+ }
-+
- ret = request_firmware(&fw, fwname, &device->dev);
- if (ret < 0) {
-+ kfree(data);
- kfree(rec);
- snd_printk(KERN_ERR PREFIX "error requesting ezusb "
- "firmware %s.\n", fwname);
-@@ -225,6 +232,7 @@
- }
- ret = usb6fire_fw_ihex_init(fw, rec);
- if (ret < 0) {
-+ kfree(data);
- kfree(rec);
- release_firmware(fw);
- snd_printk(KERN_ERR PREFIX "error validating ezusb "
-@@ -232,9 +240,10 @@
- return ret;
- }
- /* upload firmware image */
-- data = 0x01; /* stop ezusb cpu */
-- ret = usb6fire_fw_ezusb_write(device, 0xa0, 0xe600, &data, 1);
-+ *data = 0x01; /* stop ezusb cpu */
-+ ret = usb6fire_fw_ezusb_write(device, 0xa0, 0xe600, data, 1);
- if (ret < 0) {
-+ kfree(data);
- kfree(rec);
- release_firmware(fw);
- snd_printk(KERN_ERR PREFIX "unable to upload ezusb "
-@@ -246,6 +255,7 @@
- ret = usb6fire_fw_ezusb_write(device, 0xa0, rec->address,
- rec->data, rec->len);
- if (ret < 0) {
-+ kfree(data);
- kfree(rec);
- release_firmware(fw);
- snd_printk(KERN_ERR PREFIX "unable to upload ezusb "
-@@ -262,12 +272,14 @@
- if (ret < 0) {
- snd_printk(KERN_ERR PREFIX "unable to upload ezusb "
- "firmware %s: post urb.\n", fwname);
-+ kfree(data);
- return ret;
- }
- }
-
-- data = 0x00; /* resume ezusb cpu */
-- ret = usb6fire_fw_ezusb_write(device, 0xa0, 0xe600, &data, 1);
-+ *data = 0x00; /* resume ezusb cpu */
-+ ret = usb6fire_fw_ezusb_write(device, 0xa0, 0xe600, data, 1);
-+ kfree(data);
- if (ret < 0) {
- snd_printk(KERN_ERR PREFIX "unable to upload ezusb "
- "firmware %s: end message.\n", fwname);
-@@ -361,12 +373,13 @@
- struct usb_device *device = interface_to_usbdev(intf);
- /* buffer: 8 receiving bytes from device and
- * sizeof(EP_W_MAX_PACKET_SIZE) bytes for non-const copy */
-- u8 buffer[12];
-+ u8 *buffer = kmalloc(12, GFP_KERNEL);
-
- ret = usb6fire_fw_ezusb_read(device, 1, 0, buffer, 8);
- if (ret < 0) {
- snd_printk(KERN_ERR PREFIX "unable to receive device "
- "firmware state.\n");
-+ kfree(buffer);
- return ret;
- }
-
-@@ -376,44 +389,60 @@
- for (i = 0; i < 8; i++)
- snd_printk("%02x ", buffer[i]);
- snd_printk("\n");
-+ kfree(buffer);
- return -EIO;
- }
- /* do we need fpga loader ezusb firmware? */
- if (buffer[3] == 0x01) {
- ret = usb6fire_fw_ezusb_upload(intf,
- "6fire/dmx6firel2.ihx", 0, NULL, 0);
-- if (ret < 0)
-+ if (ret < 0) {
-+ kfree(buffer);
- return ret;
-+ }
-+ kfree(buffer);
- return FW_NOT_READY;
- }
- /* do we need fpga firmware and application ezusb firmware? */
- else if (buffer[3] == 0x02) {
- ret = usb6fire_fw_check(buffer + 4);
-- if (ret < 0)
-+ if (ret < 0) {
-+ kfree(buffer);
- return ret;
-+ }
- ret = usb6fire_fw_fpga_upload(intf, "6fire/dmx6firecf.bin");
-- if (ret < 0)
-+ if (ret < 0) {
-+ kfree(buffer);
- return ret;
-+ }
- memcpy(buffer, ep_w_max_packet_size,
- sizeof(ep_w_max_packet_size));
- ret = usb6fire_fw_ezusb_upload(intf, "6fire/dmx6fireap.ihx",
- 0x0003, buffer, sizeof(ep_w_max_packet_size));
-- if (ret < 0)
-+ if (ret < 0) {
-+ kfree(buffer);
- return ret;
-+ }
-+ kfree(buffer);
- return FW_NOT_READY;
- }
- /* all fw loaded? */
-- else if (buffer[3] == 0x03)
-- return usb6fire_fw_check(buffer + 4);
-+ else if (buffer[3] == 0x03) {
-+ ret = usb6fire_fw_check(buffer + 4);;
-+ kfree(buffer);
-+ return ret;
- /* unknown data? */
-- else {
-+ } else {
- snd_printk(KERN_ERR PREFIX "unknown device firmware state "
- "received from device: ");
- for (i = 0; i < 8; i++)
- snd_printk("%02x ", buffer[i]);
- snd_printk("\n");
-+ kfree(buffer);
- return -EIO;
- }
-+
-+ kfree(buffer);
- return 0;
- }
-
diff --git a/kernel-3.16.patch b/kernel-3.16.patch
deleted file mode 100644
index 5f5b197e819b..000000000000
--- a/kernel-3.16.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -aur sixfireusb-0.6.1/chip.c sixfireusb-0.6.1/chip.c
---- sixfireusb-0.6.1/chip.c 2013-12-10 04:46:22.000000000 +0100
-+++ sixfireusb-0.6.1/chip.c 2014-10-04 23:04:38.663734490 +0200
-@@ -143,7 +143,7 @@
- snd_printk(KERN_ERR PREFIX "can't set first interface.\n");
- return -EIO;
- }
-- ret = snd_card_create(index[regidx], id[regidx], THIS_MODULE,
-+ ret = snd_card_new(&intf->dev, index[regidx], id[regidx], THIS_MODULE,
- sizeof(struct sfire_chip), &card);
- if (ret < 0) {
- snd_printk(KERN_ERR PREFIX "cannot create alsa card.\n");