Hi,
so I'm new to the qubes world and have spent the good part of the last week 
getting things working on my Lenovo T430u laptop. Its been an adventure to say 
the least,

I've seen quite a few people with this broadcom wifi issue, and being one of 
them, just wanted to post my findings/experience here for anyone else trying to 
get this combo working in 3.1.

Firstly, most of the credit for getting any kind of success on my system goes 
to Dave C for posting his experience with this Mac here :

https://groups.google.com/forum/#!topic/qubes-users/VVwWqvz5dX4

I went through a few reinstalls due to the install process hanging at the 
'setting up network' part of the setup after initial install, and with no 
'disable' function in my bios for wifi had to remove it, install Qubes, 
re-attach it :)

anyway, broadcom wifi on lenovo:

# created a new netvm and set the template to 'debian-8' (im more comfortable 
in debian)
# remove and leave on ethernet device from the 'vm settings' in qubes 'vm 
manager'

boot new netvm

# I let the ethernet connection set itself up so I had internet
# then I installed the following:

sudo apt-get install firmware-b43-installer

# switched back to my [dom0] terminal
# found my broadcom device

lspci

03:00.0 Network controller: Broadcom Corporation BCM43228 802.11a/b/g/n
04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI 
Express Card Reader (rev 01)
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 
PCI Express Gigabit Ethernet Controller (rev 07)

# added my wifi device to my new netvm

qvm-pci -a netvm 03:00.0

# switchted back to 'netvm'

dmesg

bcma-pci-bridge 0000:00:01.0: Xen PCI mapped GSI17 to IRQ59
bcma:...
bcma:...
b43-phy1: Broadcom 43228 WLAN found (core revision 30)
b43-phy1: Found PHY: Analog 9, Type 4 (N), Revision 16

# and then the taskbar icon started up and found my wireless network.

please note: at some point in trying half a million things, i know i setup 
permissive pci mode as per Dave C's post:

--- cut ----

https://www.qubes-os.org/doc/assigning-devices/#pci-passthrough-issues

My /etc/systemd/system/qubes-pre-netvm.service ended up like this:

```
[Unit]
Description=permission pci netvm fixup
Before=qubes-netvm.servce

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/sh -c 'echo "0000:03:00.0" > 
/sys/bus/pci/drivers/pciback/permissive'

[Install]
WantedBy=multi-user.target

--- cut ----

now, that would make for a nice happy ending - but it wasn't to be...

after this initial success, i ran the installation of the b43 firmware pkgs on 
the debian-8 templateVM (luckily I made a clone/backup of this VM first). so 
now the netvm had a persisted installation for next boot. when i booted next 
the whole OS froze :(

So I did some more reading and saw people had blacklisted the bcma driver by 
doing the following so it wouldn't hang the machine on when the vm booted:

echo "blackhlist bcma" > /etc/modprobe.d/blacklist.conf

So that worked but my broadcom device wasn't getting any love after netvm 
booted but I would need to open a terminal up to 
/lib/modules/4.1.x/kernel/drivers/bcma/ on netvm and do a:

insmod bcma.ko' 

and then see this in the logs on dom0:

214.438828] bcma-pci-bridge 0000:00:00.0: Xen PCI mapped GSI17 to IRQ55
[  214.439158] bcma: bus0: Found chip with id 43228, rev 0x00 and package 0x08
[  214.439298] bcma: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 
0x25, class 0x0)
[  214.439334] bcma: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, 
rev 0x1E, class 0x0)
[  214.439396] bcma: bus0: Core 2 found: PCIe (manuf 0x4BF, id 0x820, rev 0x12, 
class 0x0)
[  214.439431] bcma: bus0: Core 3 found: SDIO Device (manuf 0x4BF, id 0x829, 
rev 0x07, class 0x0)
[  214.452304] bcma: bus0: Bus registered
[  214.581940] cfg80211: Calling CRDA to update world regulatory domain
[  214.590383] cfg80211: World regulatory domain updated:
[  214.590393] cfg80211:  DFS Master region: unset
[  214.590396] cfg80211:   (start_freq - end_freq @ bandwidth), 
(max_antenna_gain, max_eirp), (dfs_cac_time)
[  214.590402] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 
mBm), (N/A)
[  214.590406] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 
mBm), (N/A)
[  214.590410] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 
mBm), (N/A)
[  214.590414] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz 
AUTO), (N/A, 2000 mBm), (N/A)
[  214.590419] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz 
AUTO), (N/A, 2000 mBm), (0 s)
[  214.590427] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 
mBm), (0 s)
[  214.590435] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 
mBm), (N/A)
[  214.590445] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 
mBm), (N/A)
[  214.716974] b43-phy0: Broadcom 43228 WLAN found (core revision 30)
[  214.717618] b43-phy0: Found PHY: Analog 9, Type 4 (N), Revision 16
[  214.717665] b43-phy0: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, 
Version 1
[  214.718760] Broadcom 43xx driver loaded [ Features: PMNLS ]
[  214.957167] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)
[  217.038054] wlan0: authenticate with 00:0e:8f:b5:9a:fc
[  217.053299] wlan0: send auth to 00:0e:8f:b5:9a:fc (try 1/3)
[  217.054948] wlan0: authenticated
[  217.056031] wlan0: associate with 00:0e:8f:b5:9a:fc (try 1/3)
[  217.058670] wlan0: RX AssocResp from 00:0e:8f:b5:9a:fc (capab=0x411 status=0 
aid=6)
[  217.059166] wlan0: associated


so currently that's where i'm at :) thought i'd post this now while it was 
still fresh and also to ask for some help from more knowlegable people:

1. if the module works when does this way, but the whole OS freezes when a 
'netvm' with the attached wifi device is booted... where does the issue lie and 
what do you recommend I can do to fix it?

2. if my assumption is right and the bcma module is crashing everything - is 
there a way to load the bcma module way later in the boot process?

And just for good measure, here's a HCL from my trusty laptop:

Qubes release 3.1 (R3.1)

Brand:          LENOVO
Model:          33516AM
BIOS:           H6ET61WW (2.02 )

Xen:            4.6.0
Kernel:         4.1.13-9

RAM:            13084 Mb

CPU:
  Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz
Chipset:
  Intel Corporation 3rd Gen Core processor DRAM Controller [8086:0154] (rev 09)
VGA:
  Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 
09) (prog-if 00 [VGA controller])

Net:
  Broadcom Corporation BCM43228 802.11a/b/g/n
  Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit 
Ethernet Controller (rev 07)

SCSI:
  WDC WD3200BEKT-0 Rev: 1A02
  SanDisk SSD U100 Rev: 2.01

HVM:            Not active
I/O MMU:        Not active
TPM:            Device present

Qubes HCL Files are copied to: 'dom0'
        Qubes-HCL-LENOVO-33516AM-20160714-190933.yml            - HCL Info


bit of a learning curve but haven't had this much stress/fun with linux in a 
while :))

R.

-- 
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/2769a2a3-9e36-4610-8b60-9959cbc17988%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to