hardware is a nuked MacBook Pro, Intel Core i5-4278U @ 2.60GHz, model A1502 (EMC 2875), Retina Mid-2014 13"
I tried to install debian 12.5 from a live usb on this computer. On the network page of debian’s installation GUI I get this message:
No Ethernet card was detected. If you know the name of the driver needed by your Ethernet card, you can select it from the list.
so I logged in to recovery mode and executed
sudo lspci -vnnk -s 03:00.0
that returns
network controller [0200]: broadcom inc. and subsidiaries BCM4360 802.11ac wireless network manager adapter [14e4:43a0] (rev 03)
there is more information that I wanted to save to a lspci.txt file on the live usb (sdc1) to share with you, but I failed the syntax.
Why I want to do this: installing debian, on the GUI’s networking page there is a candidate with this exact specification (broadcom 802.11ac wireless network manager), but I cannot install it because I don’t have wifi or an ethernet cable, so I’d have to download this package from this computer I’m using now and copy it to the live usb to install alongside debian 12.5. I just wanted to print the whole command just in case it’s helpful.
ETA: how do I install rpm fusion repos on debian? I only found instructions for fedora and rhel https://rpmfusion.org/Configuration
thanks
how do I install rpm fusion repos on debian? I only found instructions for fedora and rhel https://rpmfusion.org/Configuration
Stop. You do not want to do this.. While resources published on other sites may be full of information, that information is not always relevant to you. Don’t blindly follow bad advice.
The “rpm” in “rpmfusion” refers to the filetype that Fedora’s built-in package management system,
dnf
, uses.You want to use Debian’s builtin package management system,
apt
, which uses the “deb” filetype.Here is an explanation of how to add Debian’s “non-free” repository
Do not follow information for other distros unless you know how to extract the bits that are relevant to your distro.
In general, I recommend following the advice from Debian’s wiki or website, then debian’s forums if you can’t find anything there, then debian specific forums elsewhere, then other distro’s wikis, then any other site in a last-ditch effort.
Now that you understand the “why,” here’s the “how”: go back to Debian’s download website and download the appropriate installation image from the bullet point that says
A larger complete installation image:
Reason being: the smaller “netinst” images are made to work generally for most people who can plug their computer into ethernet. It’s made to only use the bare minimum of disk space and get the rest of the files it needs from the internet (the “net” in “netinst”).
You need the installation image that come with the “drivers” (firmware) for your WiFi card already on disk, which should automatically detect your device, find the correct firmware for it, and set up the non-free-firmware repository for you.
If that doesn’t work out for you, you can try manually installing using the guide on Debian’s own wiki, which I found by searching for your wifi card
BCM4360
thanks for posting such a detailed answer.
about the different debian versions: I don’t know which one I should try first:
I found debian mac 12.5 netinst https://cdimage.debian.org/debian-cd/current/amd64/bt-cd/ and I’m giving it a try.
Shouldn’t that work, I’ll try one of the live cds https://cdimage.debian.org/debian-cd/current-live/amd64/bt-hybrid/
I paste the links to check if I have the right version
Incidentally, the data size difference is so surprising: 0.66 GB (debian mac netinst) against 3.17 GB (debian live). Can I have something in between?
Did you type:
lspci > /sdc1 lspci.txt
exactly like this? because that would pipe the output into/sdc1
. You probably want to pipe it into/your/mount/point/lspci.txt
(something like that).At least they didn’t pipe it into
/dev/sdc1
that’d be a catastropheWhat would it do?
Edit:piping it no less
make the drive unmountable if it had a filesystem on it.
Wouldn’t a reboot fix it
if you did lspci >/dev/sdc1, you would write the output of the command to the beginning of the filesystem on that partition, thus corrupting it.
I see. Thanks
ETA: how do I install rpm fusion repos on debian? I only found instructions for fedora and rhel https://rpmfusion.org/Configuration
You don’t. rpmfusion is a repo for rpm based distributions. Debian is not rpm based, but deb based. There might be PPA’s for Debian instead.
PPAs are Ubuntu only. You don’t want to go adding extra repos to Debian as that’s a great way to create a frankendebian.
You want the non-free and non-free-firmware
As the unfortunate owner of a same-gen MBP with the same wireless card, you’re looking at using the proprietary driver (I at least never had any luck with the open-source ones). Luckily, Debian do support those, and even have wiki page for them: https://wiki.debian.org/wl
Does require some extra configuration though. If you happen to have a Android phone, you should be able to use that for USB-tethering to have internet access on the device you’re installing on, will make the process a lot easier (you don’t even need a SIM in it, you can tether your wifi, that’s what I ended up doing 😅).
Broadcom is one of the worst companies when it comes to proprietary Wi-Fi cards. Use the non-free Debian ISO - but that still won’t guarantee if the installation would be a success.
Quoting from nonguix:
Some Broadcom wireless hardware requires a proprietary kernel module in addition to firmware. To use such hardware you will also need to add a service to load that module on boot and blacklist conflicting kernel modules:
(use-modules (nongnu packages linux)) (operating-system (kernel linux) ;; Blacklist conflicting kernel modules. (kernel-arguments '("modprobe.blacklist=b43,b43legacy,ssb,bcm43xx,brcm80211,brcmfmac,brcmsmac,bcma")) (kernel-loadable-modules (list broadcom-sta)) (firmware (cons* broadcom-bt-firmware %base-firmware)) ...)
This quote is relevant to Guix, but you get the idea.
RPM fusion is for RPM distros only.
For Debian I’m kind of surprised it isn’t working. With the recent Debian policy change Debian now ships with non-free firmware in the installer. Theoretically it should be working.
You’re going to have a few issues with the above, whilst it is possible to install an rpm package to Debian, like so: https://linuxconfig.org/how-to-install-rpm-package-on-ubuntu-linux
It’s a bit of a niche use case and may cause other issues, I’ve never done it.
The other issue is that the broadcom drivers for that wireless card are closed source, which is antithetical to debians mission to provide an entirely open system.
There are open source reverse engineered drivers (b43) and open official drivers, (brcmsmac/brcmfmac) for some older broadcom chips but only supporting up to wireless N functionality, if I remember correctly.
After a brief scout about I have located the following: https://unix.stackexchange.com/questions/175810/how-to-install-broadcom-bcm4360-on-debian-on-macbook-pro
it appears the closed source driver package, wl, is able to provide support for one of two chipsets on the 4360 wireless card, but there is no support for the other.
If you have a phone that can provide usb tethering, you are most likely able to provide internet to your laptop that way and continue from there to install the broadcom wl driver, if it supports your chipset. The above stack exchange link and this arch wiki link should help with that. https://wiki.archlinux.org/title/Broadcom_wireless
have you tried the non-free iso?
The main ISO ships with proprietary firmware
Someone else wrote that you’re overwriting straight into your device. Here’s how to figure out how to do it right:
Find out what block devices are available: lsblk
Lsblk will list the block devices on the computer. You can see from it weather or not the computer sees your usb and what filesystems are available on it. You might say “well of course the computer can see the usb, it booted from it!” But when you’re using a live environment the question isn’t did the computer see the usb, but does it currently see the usb.
Once you confirmed that the computer can see the usb, use df -h to find out if and where it’s mounted.
The df command shows disk filesystems and it’ll tell you which ones are mounted and where. If you see your disks file system, make note of where and skip ahead to output handling! The -h makes this command human readable by saying 32G instead of 32000000000B.
If you don’t have the file system you wanna put your output in mounted, make a directory with mkdir <directoryname> and mount the file system in it with mount /dev/<file system device> <directoryname>.
The spaces in the mount command separate the different arguments like <command> <source> <target>. You’ll be able to know your file system device from the lsblk command earlier. The mount command puts a block device somewhere in the running computers file system. Think of it like bolting something to a beam or hanging a picture on a wall.
Verify that you have access to the newly mounted file system by looking at it with ls <directoryname>. What do you see? What should you see? I don’t know.
Like I said, someone already told you that you shouldn’t overwrite directly to a device, but you can do it even better! Use the | character to send output to the tee command and give it a file as an argument like lspci | tee <directoryname>/output.txt
Tee sends output to a file in addition to the terminal as opposed to instead of the terminal window. It’s useful!
Hopefully that gets you going.
I have installed Linux on several of these laptops that need wl and as much as it’s nice to be able to do it without internet access, the easiest way is to plug up a wire and let the package manager figure out that it needs wl every time it upgrades the kernel.
maybe try
lspci > ~/Documents/lspci.txt