It has been a known issue for sometime that some wireless cards will freeze or panic the system on PC-BSD/FreeBSD 8.x. Some cards do this intermittently while others do it quite regularly. The problem seems to have been narrowed down to a conflict between devd and the netif startup script as it only occurs when devd is running.
Earlier this week Kris committed a fix which will show up in the next snapshots for 8.2 RC.3 and 9.0. If your wireless card is affected and you’d like to test the fix now, try adding this line to your wpa_supplicant.conf file:
Let us know if it makes a difference on your system!
I’ve finished up the latest round of webcamd man pages which cover the drivers used for DVB devices. Hans Petter Selasky has committed them and we hope to have them included when PC-BSD 8.2 is released.
If you’re impatient and would like to read through the man pages now, you can do so as follows. Assuming subversion is installed (it is by default on PC-BSD and can be installed with pkg_add –r subversion on FreeBSD), cd to a directory where you’d like to save the man page files (e.g. in your home directory or a temporary directory). Then, issue this command as one line:
svn –username anonsvn –password anonsvn checkout svn://svn.turbocat.net/i4b/trunk/usbcam/ulinux/man4
This will create a directory called man4 which contains the man pages. You can read a man page using nroff:
nroff –man name_of_manpage.4 | more
or, if you’re interested in searching for a vendor or product ID, use grep. In this example, I’ll search for devices with the Logitech vendor ID:
grep “046d” man4/*
During an installfest over the weekend, my local user group was bitten by an IBM BIOS bug that affects some versions of older IBM Thinkpad laptops. This bug was originally discussed on a FreeBSD mailing list back in 2001. Since then, IBM has released BIOS versions that fix the bug, but it is important to check your Thinkpad model number and BIOS version before attempting to install either FreeBSD or PC-BSD.
Details regarding the affected model numbers and BIOS versions are now in the this section of the PC-BSD Handbook.
Webcamd is a port of the Video4Linux USB webcam and DVB drivers into userspace. It’s been available as a FreeBSD port since January and comes installed with PC-BSD. When Hans Petter Selasky ported these drivers he knew there “were a lot of them, probably many hundreds”. However, it was hard to quantify exactly how many existed and exactly what hardware was supported as this information is scattered throughout thousands of src files and dozens of websites and wiki pages (possibly containing incomplete or outdated information).
It took a while to research what hardware is (in theory) supported by the various drivers; in doing so, I ended up with a spreadsheet that currently contains 1396 entries. That information was used to create 46 man pages (45 driver man pages and 1 for webcamd itself) which have now been added to the port. If you already have webcamd installed and are comfortable updating FreeBSD ports, you can upgrade to the latest version of webcamd. If you’re using PC-BSD, you can wait for next month’s 8.2 release as the latest version of webcamd will be installed with it. Or, if you’re impatient and want to check out the man pages now, you can uninstall the current version and install the new version as the superuser:
pkg_delete –x webcamd && pkg_add –rf webcamd
Once you have the latest version of webcamd, try these commands to see which man pages interest you:
apropos webcamd | more
The driver man pages contain the VendorID:ProductIDs of previously documented known devices. To determine the ID of a device, use one of the following commands on either a FreeBSD or PC-BSD system:
usbconfig dump_all_config_desc | grep vendor (if the device is an inserted USB device)
Here is an example for when I insert a USB camera:
usbconfig dump_all_config_desc | grep vendor
ugen3.3: product 0x0991 vendor 0x046d at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
I could then quickly check to see if that ID is known to be supported from the webcamd man pages:
gzcat * | grep “046d:0991″
Since I just get my prompt back, support for this particular device isn’t currently documented, so I’ll check just the VendorID:
gzcat * | grep “046d”
This will provide an ordered list of all known to be working Logitech products. From the list, the last documented ID is 046d:08dd.
I know that the information from existing resources is out-of-date. You can help to improve the man pages by letting us know the VendorID:ProductID of any cameras that work for you and which currently aren’t listed in the man pages. Also, if you come across an ID that is supposed to work but does not, please send us the details so we can update that information in the man pages.
For now, leave a comment or send me an email with the information about the device. If it turns out to be useful to do so, we’ll throw up a wiki page where needed changes can be posted and addressed.
Does your wireless device use the iwi(4) driver? Bernhard Schmidt is working on some patches to resolve some of the known issues with this driver and is looking for testers. If you’re interested in helping out, follow the instructions on the iwi wiki. If you need help getting started, you’re always welcome to join us on #pcbsd on IRC freenode. We can help you write up your bug report or help you review your findings before sending them off to Bernhard.