aboutsummaryrefslogtreecommitdiffstats
path: root/net/bwn-firmware-kmod
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2010-02-19 06:22:48 +0800
committerimp <imp@FreeBSD.org>2010-02-19 06:22:48 +0800
commit6524389365108935bba75bbac01550de682558dc (patch)
tree75f13e55592108c3b95e04d2e2f4810862baccfd /net/bwn-firmware-kmod
parent2c9ec783eb869a6ee4963102266df362fb0d73b2 (diff)
downloadfreebsd-ports-gnome-6524389365108935bba75bbac01550de682558dc.tar.gz
freebsd-ports-gnome-6524389365108935bba75bbac01550de682558dc.tar.zst
freebsd-ports-gnome-6524389365108935bba75bbac01550de682558dc.zip
Port to extract the v4.x firmware for Broadcom airforce parts.
Necessary for the up-coming bwn driver. Marked NO_PACKAGE because we can't redistribute the modified firmware. Submitted by: Weongyo Jeong Feature safe: yes
Diffstat (limited to 'net/bwn-firmware-kmod')
-rw-r--r--net/bwn-firmware-kmod/Makefile88
-rw-r--r--net/bwn-firmware-kmod/distinfo7
-rw-r--r--net/bwn-firmware-kmod/pkg-descr1
-rw-r--r--net/bwn-firmware-kmod/pkg-plist5
4 files changed, 101 insertions, 0 deletions
diff --git a/net/bwn-firmware-kmod/Makefile b/net/bwn-firmware-kmod/Makefile
new file mode 100644
index 000000000000..18587c230534
--- /dev/null
+++ b/net/bwn-firmware-kmod/Makefile
@@ -0,0 +1,88 @@
+# New ports collection makefile for: bwn-firmware-kmod
+# Date created: February 17 2009
+# Whom: Weongyo Jeong <weongyo@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= bwn-firmware
+PORTVERSION= 0.1.0
+CATEGORIES= net kld
+MASTER_SITES= http://downloads.openwrt.org/sources/ \
+ http://mirror2.openwrt.org/sources/
+PKGNAMESUFFIX= -kmod
+DISTFILES= ${FWFILE} ${FWFILE_LP}
+EXTRACT_ONLY=
+
+MAINTAINER= swhetzel@gmail.com
+COMMENT= Broadcom AirForce IEEE 802.11 Firmware Kernel Module
+
+BUILD_DEPENDS= b43-fwcutter:${PORTSDIR}/sysutils/b43-fwcutter
+
+FIRMWARES= \
+ ucode5 ucode11 ucode13 ucode14 ucode15 \
+ pcm5 a0g1initvals5 a0g0initvals5 \
+ b0g0initvals5 b0g0initvals13 a0g1bsinitvals5 a0g0bsinitvals5 \
+ b0g0bsinitvals5 \
+ lp0initvals13 lp0initvals14 lp0initvals15 lp0bsinitvals13 \
+ lp0bsinitvals14 lp0bsinitvals15 \
+ n0bsinitvals11
+
+FIRMWARES_LP= \
+ ucode5 ucode11 ucode13 ucode14 ucode15 \
+ pcm5 a0g1initvals5 a0g0initvals5 \
+ b0g0initvals5 b0g0initvals13 a0g1bsinitvals5 a0g0bsinitvals5 \
+ b0g0bsinitvals5 \
+ lp0initvals13 lp0initvals14 lp0initvals15 lp0bsinitvals13 \
+ lp0bsinitvals14 lp0bsinitvals15 \
+ n0bsinitvals11
+
+WRKSRC= ${WRKDIR}
+FWNAME= bwn_v4
+FWFILE= broadcom-wl-${FWVERSION}.tar.bz2
+FWVERSION= 4.150.10.5
+KMODNAME= ${FWNAME}_ucode
+FWNAME_LP= bwn_v4_lp
+FWFILE_LP= broadcom-wl-${FWVERSION_LP}.tar.bz2
+FWVERSION_LP= 4.178.10.4
+KMODNAME_LP= ${FWNAME_LP}_ucode
+KMODDIR= /boot/modules
+PLIST_SUB= KMODNAME="${KMODNAME}" \
+ KMODNAME_LP="${KMODNAME_LP}" \
+ KMODDIR="${KMODDIR}"
+
+NO_PACKAGE= this is a modified version of a restricted firmware
+
+.include <bsd.port.pre.mk>
+
+do-build:
+ cd ${WRKSRC} && \
+ tar xjf ${DISTDIR}/${FWFILE}
+ mkdir -p ${WRKSRC}/bg
+ b43-fwcutter -w ${WRKSRC}/bg \
+ ${WRKSRC}/broadcom-wl-${FWVERSION}/driver/wl_apsta_mimo.o
+ ${TOUCH} ${WRKSRC}/bg/v4/ucode.fw
+
+ @${ECHO_CMD} "KMOD= ${KMODNAME}" > ${WRKSRC}/bg/v4/Makefile
+ @${ECHO_CMD} "FIRMWS= ${FIRMWARES:C/.*/&.fw:${FWNAME}_&/}" >> \
+ ${WRKSRC}/bg/v4/Makefile
+ @${ECHO_CMD} ".include <bsd.kmod.mk>" >> ${WRKSRC}/bg/v4/Makefile
+ @cd ${WRKSRC}/bg/v4; ${SETENV} KMODDIR="${KMODDIR}" make all
+
+ cd ${WRKSRC} && \
+ tar xjf ${DISTDIR}/${FWFILE_LP}
+ mkdir -p ${WRKSRC}/lp
+ b43-fwcutter -w ${WRKSRC}/lp \
+ ${WRKSRC}/broadcom-wl-${FWVERSION_LP}/linux/wl_apsta.o
+ ${TOUCH} ${WRKSRC}/lp/v4/ucode.fw
+ @${ECHO_CMD} "KMOD= ${KMODNAME_LP}" > ${WRKSRC}/lp/v4/Makefile
+ @${ECHO_CMD} "FIRMWS= ${FIRMWARES_LP:C/.*/&.fw:${FWNAME_LP}_&/}" >> \
+ ${WRKSRC}/lp/v4/Makefile
+ @${ECHO_CMD} ".include <bsd.kmod.mk>" >> ${WRKSRC}/lp/v4/Makefile
+ @cd ${WRKSRC}/lp/v4; ${SETENV} KMODDIR="${KMODDIR}" make all
+
+do-install:
+ @cd ${WRKSRC}/bg/v4; ${SETENV} KMODDIR="${KMODDIR}" make install
+ @cd ${WRKSRC}/lp/v4; ${SETENV} KMODDIR="${KMODDIR}" make install
+
+.include <bsd.port.post.mk>
diff --git a/net/bwn-firmware-kmod/distinfo b/net/bwn-firmware-kmod/distinfo
new file mode 100644
index 000000000000..5bd51ad0cbee
--- /dev/null
+++ b/net/bwn-firmware-kmod/distinfo
@@ -0,0 +1,7 @@
+MD5 (broadcom-wl-4.150.10.5.tar.bz2) = 0c6ba9687114c6b598e8019e262d9a60
+SHA256 (broadcom-wl-4.150.10.5.tar.bz2) = a9f4e276a4d8d3a1cd0f2eb87080ae89b77f0a7140f06d4e9e2135fc44fdd533
+SIZE (broadcom-wl-4.150.10.5.tar.bz2) = 3888794
+
+MD5 (broadcom-wl-4.178.10.4.tar.bz2) = 14477e8cbbb91b11896affac9b219fdb
+SHA256 (broadcom-wl-4.178.10.4.tar.bz2) = 32f6ad98facbb9045646fdc8b54bb03086d204153253f9c65d0234a5d90ae53f
+SIZE (broadcom-wl-4.178.10.4.tar.bz2) = 5986780
diff --git a/net/bwn-firmware-kmod/pkg-descr b/net/bwn-firmware-kmod/pkg-descr
new file mode 100644
index 000000000000..ea27e3b79f99
--- /dev/null
+++ b/net/bwn-firmware-kmod/pkg-descr
@@ -0,0 +1 @@
+Firmware kernel module for bwn(4)
diff --git a/net/bwn-firmware-kmod/pkg-plist b/net/bwn-firmware-kmod/pkg-plist
new file mode 100644
index 000000000000..4135df6d6174
--- /dev/null
+++ b/net/bwn-firmware-kmod/pkg-plist
@@ -0,0 +1,5 @@
+@cwd %%KMODDIR%%
+%%KMODNAME%%.ko
+%%KMODNAME_LP%%.ko
+@exec kldxref %%KMODDIR%%
+@unexec kldxref %%KMODDIR%%