MacFixIt Answers is a feature in which we answer questions e-mailed from our readers. This week, we have questions about Bluetooth suddenly not being available on a Mac when it was previously, whether or not it is possible to change the BSD device node ID for a drive, and tackling Safari Extensions not working.
Question: Bluetooth not available
MacFixIt reader "Dale" asks:
I have been trying to solve my "Bluetooth not available" problem. I am using a 15" Macbook Pro, 10.6 Snow Leopard, upgraded from leopard. I have never had to use Bluetooth in the past, so I can't say when it stopped working; however, now the Bluetooth symbol is faded and when I place the mouse over top, it just states "Bluetooth not available." I have researched the Net and have tried several steps, i.e., resetting PRAM, SMC, etc., but to no avail. When I spoke with Apple Support, they stated they have not heard of this problem and advised me to send the laptop in. I would prefer avoiding costly repairs if this is something that can be resolved with your help. I cannot find Bluetooth in my system preferences or system directory. I am confident the laptop came with Bluetooth when I purchased it in 2009. Can you please advise if there is anything that can be done.
Try checking the "Bluetooth" section of the "System Profiler" utility, and do it again but this time when booted into "Safe Mode" (hold shift at bootup to get into safe mode). If the problem persists then it is likely your Bluetooth module is not being detected by the system and either has broken or has become dislodged from the motherboard. Either way you will need an Apple technician to reseat or replace it.
Question: Changing BSD device node IDs
MacFixIt reader "Chris" asks:
I've just added and partitioned a third external hard drive. I have now 4 drives with a total of 14 volumes. On the desktop, I keep them sorted alphabetically. However many apps (such as the Disk Utility) sort the drives and volumes by the BSD number.
When I added the last drive, I expected the system to assign a new sequential BSD number to the new drive and corresponding BSD volume numbers to the partition on that drive.
A new BSD drive number was created all right, but then unfortunately, all BSD drive numbers were reassigned. Now, any drive and volume listings look unnatural and confusing. Instead of 0, 1, 2, 3, I have now 0, 2, 3, 1.
Is there any way I can change the BSD Disk Numbers?
I do not believe this is possible to do manually without altering Apple's IOKit (a core system framework). The device name is automatically assigned based on what order the devices appear to the system, and the device file (also called the node) will be created (this is key to understand) in sequence based on availability. For instance, if you have one hard disk, at bootup the OS will create a device file for it and name that file "disk0." When you attach an external firewire drive the system will create another device file called "disk1," a third drive will be called "disk2" in a similar manner, and so on. All this is done by the IOKit framework through the disk arbitration daemon, which you can see working by running the following command in the Terminal:
sudo diskarbitrationd -d
This command is usually run and maintained by launchd (the system launcher), but can be run manually as well. When you attach a disk it will show the iokit create a disk device file instead of choosing from premade ones. It will then probe the disk to determine its file-system type and other details, and then mount it accordingly.
All of this is done at the system level and there is no way I know of to change the assignments that IOKit uses for the drive. IOKit maintains the device number used so "disk2" is always used for the same device in a given boot session, and other devices attached in the interim will be given their own unique identifiers that are likewise preserved. Technically it is possible to change this and modify IOKit so it clears the device ID numbers it preserves; however, I would imagine changing this behavior could lead to serious I/O errors.
From this behavior, there may be a workaround that you can use to get your disks mounted as you would. First boot your system with the drives unplugged, and then once booted attach them in the order you would like them to be assigned. For internal drives, the OS should assign the device id based on the order in which they were polled by the kernel/hardware, so devices on "controller 1" should be attached and assigned before those on "controller 2"; however, keep in mind that the disk arbitrator uses a timeout feature, and if two devices are being polled at the same time, then it may go ahead and automatically assign a device ID to whichever one responds first.
Question: Safari Extensions not working
MacFixIt reader "Tad" asks:
I have downloaded Safari 5.0.1 into my desktop and laptop Macs--desktop MDD Power Pc running OS10.5.8, and MacBook Pro 15" w/Intel Core 2 Duo, 2.33Hhz running OS10.6.4. I am unable to load any of the extensions in the new Extensions Gallery on either system. When trying to Install any extension, I get a pop-up window that says Safari unable to load extension due to an error.
I have installed the "Develop" section in the Safari toolbar that is supposed to have an "Enable Extensions" line in the drop-down menu, but there is no such line in the menu.
Remove "com.apple.safari.plist" from the /username/Library/Preferences/ folder
Reset Safari using the "Reset Safari" option in the "Safari" menu.
Reinstall the latest Combo updater from Apple for OS X 10.6.4, and then reapply the Safari 5.0.1 update.