What is the difference between the Card Type and the Firmware Version?
The Card Type
field shown in "About this mac" appears to be broken. It seems to be combining the card's vendor ID with the subsystem vendor ID, which may or may not uniquely identify the card, and even if it does, only to the system vendor's native operating system.
The firmware version is the version of the firmware running on the device. A wireless card is sufficiently complicated that it has it's own CPU inside (for example, a microcontroller). The firmware version identifies the software running on the card's CPU.
Is the Firmware Version another word for a Driver?
No. The operating system driver runs on the main CPU. It is responsible for interfacing the OS to the PCI bus. The firmware runs on the wireless card. It is responsible for interfacing the PCI bus to the actual wireless radio hardware. It is kind of like a "driver" in the end, except you don't want to call it that because it would cause more confusion.
You can think of the PCI bus as a telephone line between a house (OS) and a nearby shed (wireless card). The driver is in the house talking on the telephone with the firmware, which is in the shed. The driver is subordinate to a chain of command in the house, but the firmware is king of the castle in the shed.
The situation is further complicated by the fact that many cards do not include the firmware on the card itself; the card itself just has a kind of bootloader that can load the firmware over PCI and then execute it. So you have to have a compatible firmware file on the OS side and the OS driver needs to know how to feed it in to fully bring up the card. But the firmware does not run in the OS, it's just fed to the card without (too much) processing.
Which terms in the output of lspci -k correspond to the output from "About this mac"?
None of them. Intel Corporation WiFi Link 5100 should have PCI ID [8086:4232]
, and definitely not a match to PCI vendor 0x14E4
(Broadcom). You're hitting different hardware from MacOS as from Linux; the complete output of lspci -nn
might reveal what is going on.
How do I know what driver to install?
The card you did find in Linux has already been claimed by iwlwifi
. If you can get running with that it's probably better to do that as the Intel cards have better Linux compatibility than the Broadcom ones.
Best Answer
Get the source
Untar the source
Or, get and untar the source in one step
Now you have a directory called
jhead-2.97
. Enter that directory and runmake
.This will compile the code and link an executable for you called
jhead
.Some makefiles have install targets. This one does. To install the executable,
You'll probably need to run that as root. Now your program is installed and ready for use.
In this case, the install target looks like this:
If you ever run into a program without an install target in its makefile, just know that you have to get any executables into
/usr/local/bin
and any libraries into/usr/local/lib
(or other appropriate locations.) Sometimes there are also other files you have to worry about such as documentation files (e.g. man pages), configuration files, etc.