OK, I built the module from
http://www.broadcom.com/support/802.11/linux_sta.php
in netvm, by first getting yum install gcc kernel-devel then running
make in the extracted folder. I used 64bit.
Then did sudo insmod wl.ko, and got this kernel panic
[ 24.915371] wl: module license 'unspecified' taints kernel.
[ 24.915394] Disabling lock debugging due to kernel taint
[ 24.934730] wl 0000:00:00.0: enabling device (0000 -> 0002)
[ 24.934920] xen:events: xen_bind_pirq_gsi_to_irq: returning irq 79
for gsi 18
[ 24.934923] wl 0000:00:00.0: Xen PCI mapped GSI18 to IRQ79
[ 24.935934] wl driver 6.30.223.248 (r487574) failed with code 1
[ 24.935947] ------------[ cut here ]------------
[ 24.935949] kernel BUG at include/net/cfg80211.h:3127!
[ 24.935951] invalid opcode: 0000 [#1] SMP
[ 24.935954] Modules linked in: wl(PO+) af_packet fuse bnep bluetooth
cfg80211 rfkill xt_nat xen_netback xt_REDIRECT ipt_REJECT xt_tcpudp
xt_conntrack iptable_filter ipt_MASQUERADE iptable_nat nf_conntrack_ipv4
nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack ip6table_filter
ip6_tables ip_tables x_tables dummy_hcd udc_core coretemp r8169 hwmon
mii pcspkr x86_pkg_temp_thermal xen_usbfront usbcore binfmt_misc
usb_common xen_blkback u2mfn(O) nfsd auth_rpcgss oid_registry exportfs
nfs_acl lockd sunrpc ext4 crc16 jbd2 crct10dif_pclmul crc32_pclmul
crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul
glue_helper ablk_helper cryptd dm_snapshot xen_blkfront autofs4
[ 24.935993] CPU: 0 PID: 1362 Comm: insmod Tainted: P O
3.12.23-1.pvops.qubes.x86_64 #1
[ 24.935996] task: ffff8800102265c0 ti: ffff880002a1c000 task.ti:
ffff880002a1c000
[ 24.935998] RIP: e030:[<ffffffffa077c720>] [<ffffffffa077c720>]
wdev_priv.part.9+0x4/0x6 [wl]
[ 24.936021] RSP: e02b:ffff880002a1da60 EFLAGS: 00010246
[ 24.936023] RAX: 0000000000000000 RBX: ffff88000e793400 RCX:
0000000000000006
[ 24.936026] RDX: ffff88000e793400 RSI: ffff8800001f4058 RDI:
ffff88000a6b0000
[ 24.936028] RBP: ffff880002a1da60 R08: 0000000000000001 R09:
0000000000000151
[ 24.936030] R10: ffffffff81649700 R11: ffff880002a1d8a6 R12:
ffff8800001f4018
[ 24.936032] R13: ffff8800001f4058 R14: 00000000000043b1 R15:
ffff8800001f4000
[ 24.936037] FS: 00007f2051589740(0000) GS:ffff880012800000(0000)
knlGS:0000000000000000
[ 24.936039] CS: e033 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 24.936041] CR2: 000000000041a370 CR3: 0000000000284000 CR4:
0000000000002660
[ 24.936044] Stack:
[ 24.936045] ffff880002a1da90 ffffffffa077bfb1 ffff88000e793400
ffff8800001f4018
[ 24.936049] ffff8800001f4058 00000000000043b1 ffff880002a1dab8
ffffffffa0773e31
[ 24.936053] ffff8800001f4000 ffff88000a6b0000 0000000000000000
ffff880002a1db60
[ 24.936057] Call Trace:
[ 24.936066] [<ffffffffa077bfb1>] wl_cfg80211_detach+0x101/0x130 [wl]
[ 24.936066] [<ffffffffa0773e31>] wl_free_if.isra.12+0x21/0xc0 [wl]
[ 24.936066] [<ffffffffa0774728>] wl_free+0x38/0x210 [wl]
[ 24.936066] [<ffffffff814d6fcf>] ? printk+0x4f/0x51
[ 24.936066] [<ffffffffa0bfc6b0>] wl_pci_probe+0x628/0x63c [wl]
[ 24.936066] [<ffffffff814e2650>] ?
_raw_spin_unlock_irqrestore+0x20/0x40
[ 24.936066] [<ffffffff81283dbc>] pci_device_probe+0x7c/0xd0
[ 24.936066] [<ffffffff8134719b>] driver_probe_device+0x8b/0x3c0
[ 24.936066] [<ffffffff8134759b>] __driver_attach+0x8b/0x90
[ 24.936066] [<ffffffff81347510>] ? __device_attach+0x40/0x40
[ 24.936066] [<ffffffff813450f3>] bus_for_each_dev+0x63/0xa0
[ 24.936066] [<ffffffff81346c19>] driver_attach+0x19/0x20
[ 24.936066] [<ffffffff813467a0>] bus_add_driver+0x200/0x2d0
[ 24.936066] [<ffffffffa0bfc000>] ? 0xffffffffa0bfbfff
[ 24.936066] [<ffffffff81347baf>] driver_register+0x5f/0xf0
[ 24.936066] [<ffffffffa0bfc000>] ? 0xffffffffa0bfbfff
[ 24.936066] [<ffffffff812829c7>] __pci_register_driver+0x47/0x50
[ 24.936066] [<ffffffffa0bfc086>] wl_module_init+0x86/0x88 [wl]
[ 24.936066] [<ffffffff810020d2>] do_one_initcall+0xd2/0x180
[ 24.936066] [<ffffffff810835c3>] ?
__blocking_notifier_call_chain+0x53/0x70
[ 24.936066] [<ffffffff810c340a>] load_module+0x1b3a/0x2530
[ 24.936066] [<ffffffff810bf570>] ? store_uevent+0x40/0x40
[ 24.936066] [<ffffffff810c03aa>] ?
copy_module_from_fd.isra.50+0x10a/0x160
[ 24.936066] [<ffffffff810c3f4e>] SyS_finit_module+0x7e/0xa0
[ 24.936066] [<ffffffff814ea907>] tracesys+0xdd/0xe2
[ 24.936066] Code: d0 c1 e8 10 66 39 c2 74 0c 0f b7 f6 e8 ea 45 89 e0
66 90 eb 0a 89 f0 f0 0f b1 17 39 f0 75 ea 5d c3 55 48 89 e5 0f 0b 55 48
89 e5 <0f> 0b 55 48 89 e5 0f 0b 55 48 89 e5 0f 0b 55 48 89 e5 0f 0b 04
[ 24.936066] RIP [<ffffffffa077c720>] wdev_priv.part.9+0x4/0x6 [wl]
[ 24.936066] RSP <ffff880002a1da60>
[ 24.936268] ---[ end trace b81d5bce56bf5bcb ]---
The invalid opcode SMP makes me think it may be due to xen
virtualisation?
I also tried doing it the "fedora" way by getting rpmfusion installed,
then
doing the cp -a && mount --bind trick you mentioned, then yum install
kmod-wl
but that just built it for a newer kernel, not the qubes one, so that
didn't
fly very high.
I'll play round more today, but this is a bit of a showstopper for me as
I tend to work remote, and can't always have a cable leading to the
cafe's
router ;)
Cheers,
Hugh