Solving USB problems; USB devices do not mount, SOLUTION POSTED: USB devices don't mount but do so if restarted. |
Solving USB problems; USB devices do not mount, SOLUTION POSTED: USB devices don't mount but do so if restarted. |
|
LioNEXT
InsanelyMac Geek
|
![]() |
Mar 26 2008, 06:51 AM Post #1
|
![]() ![]() ![]() ![]()
|
There are some USB related threads on this forums here that kind of linger on without much replies or real solutions. I hope we can make one amalgamated thread that is all USB problems related
FEW IMPORTANT THINGS FIRST: 1) Make a habit of putting signatures in your post. It is very easy. Just go to control center and make one of your own or copy/paste signature from any post you like and edit it. Use mine if you like. This helps a lot for solving your problem and keeping sanity on part of the helper. EDIT (by Moderator): but first read and follow the Signature and Avatar Rules 2) Make a habit of going through the whole thread. There will be lot of things that would be discussed that may be relevant to you. I learnt this way. All newbies learn this way. But as Mysticus C* calls it, only n00bies (=Stupid) don't read and therefore don't learn. So be a learner. I solved all my major and most minor installation problems without posting even once!! And I was a complete novice to begin with. UPDATE (09/28/08): I just figured that after updating to 10.5.5, I started getting USB drives not mounting problem again. I am still using 9.2.0 kernel and system.kext. It appears that since 10.5.5, the IOUSBMassStorageClass.kext is now not included as a plugin in the IOUSBFamily.kext, but separately in Extensions folder. Somehow with 9.2.0 kernel and system.kext, the kernel never picks up the updated massstorageclass kext. So I went ahead and copied this kext to the plugin folder of IOUSBFamily.kext and corrected the permissions. The USB drives mount fine now with updated USB kexts but older kernel and system.kext. I have not investigated extensively, so there may be some other cause. But if anybody cares, then it solved this for me. UPDATE: 06/01/08 ( A ) CHECK YOUR BIOS FIRST: You may have one or all of these options: enable: plug and play enable: usb legacy support (this is only needed if you want your usb hdd dvd/cd roms flash disks to be recognized at boot for various reasons, like booting off from usb dvdrom, or hdd or flash memory etc. If disabled, this does not affect at all while in the OS, since the OS (OSX or Windows) will load its appropriate drivers.) enable: usb keyboard and mouse (this will enable you to work with usb keyboard and mouse at boot. Otherwise, they may not work until any OS is loaded) ( B ) MAIN CAUSES OF USB NOT MOUNTING ISSUE: (Some abbreviations: S: System L:Library E:Extensions C:Caches) 1) Incompatibility problem: The problem is caused from having different (non-matching) versions of kernel (mach_kernel) and system.kext. Say you have 9.2.0 kernel, but system.kext version is 9.2.2 This will cause USB not mounting issue... How to check kernel version: The easiest way to check kernel is running terminal window (applications/utilities/terminal) and type: CODE uname -a It will show a long line and at the end of the line it should say the version. Check the figure below. How to check system.kext version: Open a finder window, go to /S/L/E and find the file named "system.kext" right click on it, and click on Get Info. In the Get Info window, you will see the Version number. Alternatively, you can right click on the kext, click "show package contents", and open the "info.plist" file (in text editor, for example). It should show a line like this: CODE <key>CFBundleVersion</key> <string>9.2.2</string> Here is how it should look like:
kernel_and_systemkext_version.jpg ( 235.1K )
Number of downloads: 6296Both should match in versions. If you have 9.2.2 kernel, then system.kext should also be 9.2.2. However, if your kernel and system.kext versions are not matching, that is then the root of the problem. So in order to fix these issues, use the installer provided below. Once you can confirm the details and you know you have non-matching versions, you can continue to Install Guide and follow the instructions 2) PCGENUSB2 problem: There is another possible way that things may not work as intended. This is however a very specific situation and may be needed for some of you. You must know your system details. There is a good chance there is someone out there who has a similar configuration. Therefore, searching and reading first really helps. The problem is called: "USB 2.0 aka high speed bus is not working". This problem exists on certain laptops (and old desktop configurations) that contains non-standard bioses, or some old motherboards. In order to fix this issue, "PCGENUSB2.kext" can be installed as part of plugins inside "IOUSBFamily.kext". Kalyway installation adds this by default. To check it, go to /S/L/E and right click IOUSBFamily.kext, open package contents, go to plugins folder and see if you have this kext there). What it does is that it forces the bios to release the information regarding the USB 2.0 controller, so that OSX can handle high speed bus as well. Nevertheless, most people have recent hardware configurations and may not even have this issue and much less need it. On the other hand, it seems for at least some of them, having PCGENUSB2 actually complicates or worsens their USB problems (for example, see noam's post here having a weird wireless USB issue). So it may be advisable to remove this unnecessary part and leave IOUSBFamily.kext vanilla. How you may got this pcgenusb2 file?:
This you may have to verify yourself if you need it or not. If you are sure that you have the USB 2.0 issue, that you must install the pcgenusb2 file, then do not delete this. So uncheck the last option in the installer (If the option is checked, the installer places a vanilla IOUSBFamily.kext that lacks this PCGENUSB2). A cautionary warning: although PCGENUSB2 helps for those folks who need it, it may cause some USB devices to not work as intended. Sorry, there is no other way... (or buy a new mobo If you are sure that you dont have this issue and don't need it, make sure you check the last option so that it installs a vanilla IOUSBFamily.kext. ( C ) HOW-TO GUIDE FOR FIXING THE ISSUE "USING USB fix 1.3.MPKG" (aka USB Fix Installer) 1 ) Download the zip file 2 ) Extract the file on your desktop or where ever you like 3 ) Open the folder wherever you extracted the file 4 ) Double click/run the file "USB Fix 1.3.mpkg" 5 ) This has to be installed on the partition you are running OSX, so, no location change on this version 6 ) Click on "Customize", to be able make your own choices... 7 ) By Default: "9.2.0 System.kext only" and "USB Family Original Restore Backup" is selected. Reasons for default selections:
8 ) Open a finder window, and locate /S/L/Extensions.mkext file. Right Click on it, and select Move To Trash (enter password of course later) 9 ) Locate /S/L/E/C/com.apple.kext.info file and same right click and move to trash 10 ) Restart and at boot press F8 where it waits for 5 secs. Type: -v -f (this is gonna recreate driver caches and fast boot caches. the reason why we are doing 7,8 is sometimes these caches prevent new drivers from loading. Although Leopard has auto update function on these caches, sometimes better take precaution...) WARNING: The installer is fairly safe but still use it at your own risk. Any problem, please report
usb2rd1.png ( 122.57K )
Number of downloads: 4646DOWNLOAD (usb_fix_1.3.mpkg.zip) Update: 05/18/08: New Installer version 1.3; Installer fixed for force-deleting of kexts; Have been tested extensively. If you had used earlier version and were unsuccessful in getting your problem solved, I urge you to try this one out. There was little bug in the earlier version. The below given information is ONLY FOR THOSE FOLKS who like to tinker on their own inside the hood just to make sure that the fix is performed 100%. If you are using going to use the installer, you don't need to read this. Here is what you can do to manually replace the relevant system.kext . The replacement below is for 9.2.0 system.kext . You can find other versions elsewhere or use pacifist to extract from the installer above. 1) Remove the current non-matching system.kext 2) Remove the Lingon created plist, eg USBstarter (it is in /Library/LaunchDaemons folder), if you have created one using the previous method I had described before (see the end of this post below) 3) Put the 9.2.0 system.kext in /System/Library/Extension folder 4) Repair permissions: CODE sudo chown -R 0:0 /S/L/E/System.kext sudo chmod -R 755 /S/L/E/System.kext 5) OPTIONAL: If you don't need PCGENUSB2, then delete IOUSBFamily.kext and replace a vanilla copy in its place. Repair permissions for this one as well. 5) Delete the extension.mkext file and the file inside /S/L/E/Caches folder (com.apple.kext.info) 6) Restart. Use -v -f option during boot during rebuild the cache (Press F8 at the darwin bootloader to get to the boot option, if needed). Plug in any USB drive. It should work wonders. Don't worry if you don't see IOUSBMassStorage.kext in Terminal using kextstat after boot. It gets invoked once you put a USB device and the kext will also be visible in Terminal
System_9.2.0.kext.zip ( 151.92K )
Number of downloads: 3689( D ) GENERAL INFORMATION I am adding this section for tid-bits that we gather from discussions in this thread.
[2] If you happen to replace the IOUSBFamily.kext but figured that you actually need PCGENUSB2, here is a place to get IOUSBFamily.kext that has the PCGENUSB2.kext in its plugins. http://osx86.wikidot.com/utilities-resources [3] If you are a blackberry user and you get something about the current being insufficient for charging check drivers etc, check Toonces Katt's post #212 for a fix. [4] If you have matching kernel and system.kext but still find that USB devices do not mount or would only mount sometimes, the problem may be caused by other hardware such as problematic card readers. Once again, check Toonces Katt's post #223 how removing the card reader (a cheap Dell one) helped him diagnose and solve the USB problem. LioNEXT -------------------------------------------------------------------------------------------------------------- ******************************************************************************* -------------------------------------------------------------------------------------------------------------- Below is my original post for posterity and for learning purposes. You can also use this if you can not solve the problem using the above method. I would also suggest reading this so that you get acquainted with troubleshooting mac problems. [UPDATES] The updates below were using Lingon method. Update 04/30/08: McKack and BoNeS solved problem of Firewire devices not mounting with this method as well. See post #54 and post #231 by adding daemons for: kextload -b com.apple.iokit.IOFireWireAVC kextload -b com.apple.iokit.IOFireWireSBP2 Update 04/09/08: Following USB related kexts should be loaded for the devices to work ( check with kextstat | grep "USB" ). Also, see post #17 below. com.apple.iokit.IOUSBFamily com.apple.driver.AppleUSBUHCI com.apple.driver.AppleUSBEHCI com.apple.iokit.IOUSBUserClient com.apple.driver.AppleUSBHub com.apple.driver.AppleUSBComposite com.apple.iokit.IOUSBHIDDriver com.apple.iokit.IOUSBMassStorageClass See the attachment below for a screenshot of Lingon app and the things that need to be checked.
Lingon.pdf ( 742.57K )
Number of downloads: 1633Update 04/08/08: Make sure you check the box next to Enable and then hit save. If there are more than one kext that does not get loaded, create daemon for each kext and enable and save. [/UPDATES] Alright, here is my USB problem and how I resolved it and I believe it probably can resolve some other issues as well. My USB devices like pen drives or USB external storage disks won't mount in Leopard 10.5.2. Well, let me qualify my statement. On my configuration, they would do so with stock kernel but then I won't have shut down and restart. So I installed Netkas' sleep/shutdown kernel (modified toh 9.2.0), which works absolutely well for me, but now USB devices do not mount. I read somewhere that at every startup, kexts get their links from the kernel. So one has to appropriately match kernel with kexts. So the system.kext and kernel should be compatible. Since Netkas' kernel is 9.2.0 (and not 9.2.2), some stuff doesn't work (I hope he will release updated kernel). So I confirmed that IOUSBMassStorageClass kext does not get loaded during startup. In Terminal, CODE sudo -s enter password (don't worry if you don't see it CODE kextstat | grep "USB" There is no com.apple.iokit.IOUSBMassStorageClass loaded. (There is also a small app called USBProber available from apple in its USB debug kit that you can also use to see directly to check what kexts are loaded for USB and globally). Now if you type in Terminal: CODE kextload -b com.apple.iokit.IOUSBMassStorageClass So now the appropriate kext would load and everything would work. (credits to TheG33K: http://forum.insanelymac.com/index.php?s=&...st&p=532849 ) So after looking for a way to create an applescript or shell commands that would run at startup, I found little overwhelming for this rookie. I could not manage to run the command in the above link with script. Then I came across this little app, Lingon, from Peter Borg http://lingon.sourceforge.net/ Install this click new script/user daemon Box 1: Name it as something (eg. USBstarter) Box 2: put the required command or app; in this case: CODE kextload -b com.apple.iokit.IOUSBMassStorageClass Box 3: select the second option "run it when it is loaded by the system at startup or login" Check the box next to "Enable" (right top corner) Hit Save. It will recommend restart. Restart and enjoy USB mounting all the time with Shutdown/restart/sleep (with S3) all well. [I have seen that if I clean out kernel and other caches etc using a system utility like Cocktail , the plist (or in other words, kext won't load). It needs double reboot to get it loaded again. But after that, it will get loaded everytime. If for some reason, it still does not work, open lingon again, uncheck "Enable" and check it back again and hit save. Now it should load. I am not sure why this is so, since the USBstarter.plist is always present in the /Library/LaunchDaemons folder] It should solve many other USB problems also. Please do post your USB problems and solutions you have come across. -----
Reason for edit: to clarify there are rules for signatures.
Attached File(s)
|
ipoz Solving USB problems; USB devices do not mount Mar 26 2008, 06:51 AM
chinasky Thanks for this solution ipoz, i was having this p... Mar 26 2008, 08:04 PM
plprado Well, at first thanks for this.
I also had this p... Mar 26 2008, 08:23 PM
ipoz QUOTE (plprado @ Mar 26 2008, 08:23 PM) W... Mar 26 2008, 10:56 PM
urgonah8me Thanks man iv been posting about this i dont know ... Mar 26 2008, 10:16 PM
urgonah8me ah sorry man you just reminded me my sig is wrong... Mar 26 2008, 11:05 PM
ipoz QUOTE (urgonah8me @ Mar 26 2008, 11:05 PM... Mar 27 2008, 03:56 AM
balder QUOTE (ipoz @ Mar 27 2008, 04:56 AM) have... Mar 27 2008, 12:44 PM
ipoz oops! my bad.
sorry about going off-topic. wil... Mar 27 2008, 05:57 PM
balder Hey
That solution with Lingon appz didnt help for... Mar 27 2008, 08:20 PM
chinasky QUOTE (balder @ Mar 27 2008, 09:20 PM) He... Mar 27 2008, 11:19 PM
ipoz QUOTE (chinasky @ Mar 27 2008, 11:19 PM) ... Mar 29 2008, 06:49 AM
ergosteur Thanks for this, the system.kext/kernel version di... Mar 28 2008, 04:05 AM
DerFlash Hi all,
thanks for the hints with the kext not lo... Apr 4 2008, 03:54 PM
ipoz QUOTE (DerFlash @ Apr 4 2008, 03:54 PM) H... Apr 8 2008, 01:59 AM
Johnny MacDonald hey guys
this forum is great
i have tried everyt... Apr 9 2008, 01:41 AM
ipoz QUOTE (Johnny MacDonald @ Apr 9 2008, 01... Apr 9 2008, 06:57 AM
Johnny MacDonald QUOTE (ipoz @ Apr 9 2008, 06:57 AM) In Te... Apr 10 2008, 01:54 AM

ipoz QUOTE (Johnny MacDonald @ Apr 10 2008, 01... Apr 10 2008, 03:07 AM
keypox QUOTE (ipoz @ Apr 9 2008, 06:57 AM) In Te... Apr 23 2008, 04:12 AM
LioNEXT QUOTE (keypox @ Apr 23 2008, 04:12 AM) th... Apr 24 2008, 05:21 AM
zdj guys,
all .kext are loaded through Lingon (confir... Apr 10 2008, 08:47 PM
ipoz it looks like the problem is unrelated to USB kext... Apr 10 2008, 09:35 PM
zdj QUOTE (ipoz @ Apr 10 2008, 09:35 PM) it l... Apr 10 2008, 11:53 PM
zdj QUOTE (zdj @ Apr 10 2008, 11:53 PM) i ins... Apr 11 2008, 01:43 AM
ipoz did you check with USB prober (installed in /Devel... Apr 11 2008, 04:16 AM
pet1 If you're using a 9.2.2 kernel, make sure you ... Apr 11 2008, 04:18 AM
ipoz oh yea. thats a good point i missed. may be that i... Apr 11 2008, 04:39 AM
zdj QUOTE oh yea. thats a good point i missed. may be ... Apr 11 2008, 04:47 PM
ipoz QUOTE (zdj @ Apr 11 2008, 04:47 PM) Actua... Apr 11 2008, 05:12 PM
zdj QUOTE (ipoz @ Apr 11 2008, 05:12 PM) Here... Apr 11 2008, 06:12 PM
zdj QUOTE (zdj @ Apr 11 2008, 06:12 PM) ipoz,... Apr 11 2008, 07:14 PM
ipoz zdj-,
i was going to post you about ur earlier pos... Apr 11 2008, 11:59 PM
zdj QUOTE (ipoz @ Apr 11 2008, 11:59 PM) zdj-... Apr 14 2008, 12:37 AM
zdj manually loading gives me this:
sh-3.2# kextload -... Apr 14 2008, 02:41 AM
zdj ok, now all kexts up and running, automated with L... Apr 14 2008, 05:17 AM
Johnny MacDonald i cant seem to get my built in isight working ethe... Apr 14 2008, 02:31 PM
zdj ok guys, problem solved!
downloaded kalyway 10... Apr 15 2008, 01:23 AM
Johnny MacDonald i have got all my kexts files up and running
but s... Apr 15 2008, 03:50 AM
double solved my USB problem. thanks. Apr 17 2008, 04:38 AM
SquidCombo My iphone can't seem to get detected and I thi... Apr 17 2008, 07:34 AM
Detosx Could an app like this, or another that you might ... Apr 17 2008, 11:18 PM
00Diabolic QUOTE (Detosx @ Apr 17 2008, 07:18 PM) Co... Apr 18 2008, 06:37 AM
ipoz shutdown problems:
Have you tried Netkas 9.2.0 ker... Apr 20 2008, 11:43 PM
00Diabolic QUOTE (ipoz @ Apr 20 2008, 07:43 PM) shut... Apr 21 2008, 11:13 PM
santitf I had the same problem with the usb pen devices (m... Apr 21 2008, 11:23 PM
LioNEXT QUOTE (santitf @ Apr 21 2008, 11:23 PM) I... Apr 22 2008, 05:52 PM
zhimama Thanks, mate.
it works for me, and also thanks fo... Apr 26 2008, 04:24 AM
zhimama For people ,who have P35 (ICH9R )series Board, and... Apr 27 2008, 02:10 AM
LioNEXT QUOTE (zhimama @ Apr 26 2008, 07:10 PM) F... Apr 27 2008, 08:16 PM
HSV Hi LioNEXT!
I've follow you pos#1,but my U... Apr 30 2008, 02:21 PM
LioNEXT QUOTE (HSV @ Apr 30 2008, 07:21 AM) Hi Li... Apr 30 2008, 08:32 PM
HSV QUOTE (LioNEXT @ May 1 2008, 03:32 AM) yo... May 3 2008, 07:49 AM
LioNEXT QUOTE (HSV @ May 3 2008, 12:49 AM) I just... May 3 2008, 11:23 PM
Mysticus C* QUOTE (LioNEXT @ May 4 2008, 12:23 AM) ar... May 4 2008, 01:52 AM

LioNEXT QUOTE ( Mysticus C* @ May 3 2008, 06... May 4 2008, 07:36 AM

Mysticus C* yeah your solution is a temporary solution but it ... May 4 2008, 01:40 PM

LioNEXT QUOTE ( Mysticus C* @ May 4 2008, 06... May 4 2008, 05:15 PM

Mysticus C* i think you should also add this solution as the m... May 4 2008, 06:21 PM

LioNEXT QUOTE ( Mysticus C* @ May 4 2008, 11... May 4 2008, 06:49 PM

Mysticus C* well great then, just collect all the files togetg... May 4 2008, 07:27 PM
HSV QUOTE (LioNEXT @ May 4 2008, 06:23 AM) ar... May 4 2008, 02:37 AM
ricki hsv hi can you kindly send me ionetworking.kext fr... Apr 30 2008, 11:30 PM
McKack Great stuff, it worked like a charm for me!
A... May 1 2008, 02:04 AM
LioNEXT QUOTE (McKack @ Apr 30 2008, 07:04 PM) Gr... May 1 2008, 03:02 AM
noam I installed the 9.2.0 sleep(no speedstep) kernel ... May 3 2008, 10:26 AM
holocron Thanks LioNEXT. This helped me out, have it worki... May 3 2008, 03:35 PM
n3n3 Thanks LioNEXT. This helped me out, have it workin... May 4 2008, 02:28 AM
HSV QUOTE ( Mysticus C* @ May 4 2008, 08... May 4 2008, 03:18 AM
GenMatrix QUOTE (HSV @ May 3 2008, 11:18 PM) Sorry ... May 4 2008, 03:33 AM
applebot Thanks for a much needed thread LioNEXT!
I... May 4 2008, 07:52 AM
ricki QUOTE ( Mysticus C* @ May 4 2008, 02... May 4 2008, 04:54 PM
CyberEvil Hi, thanks for adding the packages.
My details are... May 4 2008, 08:16 PM
LioNEXT QUOTE (CyberEvil @ May 4 2008, 01:16 PM) ... May 4 2008, 08:21 PM
CyberEvil Hi LioNEXT,
Thank you for the response.
I've ... May 4 2008, 08:31 PM
LioNEXT QUOTE (CyberEvil @ May 4 2008, 01:31 PM) ... May 4 2008, 10:34 PM
j.solas QUOTE (LioNEXT @ May 4 2008, 10:34 PM) No... May 5 2008, 07:42 AM
Mysticus C* i dont think you know what you are saying...
are ... May 5 2008, 09:42 AM
j.solas Hi
I have install the kalyway 10.5.2, and I have a... May 4 2008, 09:17 PM
CyberEvil Hi,
I can confirm that the mach_kernel from the Ti... May 4 2008, 11:18 PM
Mysticus C* i thin you are misinformed... not many people are ... May 4 2008, 11:29 PM
CyberEvil I'm using this:
Darwin Cell.local 9.2.0 Darwin... May 4 2008, 11:38 PM
LioNEXT QUOTE (CyberEvil @ May 4 2008, 04:38 PM) ... May 4 2008, 11:56 PM
Mysticus C* i will try to add all these packages myself tomorr... May 4 2008, 11:57 PM
LioNEXT QUOTE ( Mysticus C* @ May 4 2008, 04... May 5 2008, 12:06 AM
CyberEvil Hi, Thanks for the help.
Finally decided to dig ab... May 5 2008, 02:34 AM
LioNEXT QUOTE (CyberEvil @ May 4 2008, 07:34 PM) ... May 5 2008, 04:18 AM
CyberEvil Hi,
With the modbin one, IPhone got detected, shu... May 5 2008, 04:27 AM
LioNEXT QUOTE (CyberEvil @ May 4 2008, 09:27 PM) ... May 5 2008, 05:43 AM
Mysticus C* after reading your message again, i m pretty sure ... May 5 2008, 05:05 PM
Mysticus C* i will update later with a total all-in-one instal... May 6 2008, 01:59 AM
LioNEXT QUOTE ( Mysticus C* @ May 5 2008, 06... May 6 2008, 05:36 AM
fassl Dont know if somebody wrote this in here but you a... May 6 2008, 07:52 AM
The_YongGrand Hola!!
I'm typing this from my fave K... May 8 2008, 11:22 AM
jkspost I have this odd problem with my USB device that go... May 8 2008, 04:56 PM
noam I tried to install the system kext replace but it ... May 8 2008, 09:07 PM
Mysticus C* QUOTE (noam @ May 8 2008, 10:07 PM) I tri... May 8 2008, 09:53 PM
LioNEXT QUOTE ( Mysticus C* @ May 8 2008, 02... May 9 2008, 07:00 AM
noam QUOTE ( Mysticus C* @ May 8 2008, 09... May 9 2008, 09:47 AM
Mysticus C* QUOTE (noam @ May 9 2008, 10:47 AM) ... May 9 2008, 12:22 PM ![]() |
|
Lo-Fi Version | Time is now: 21st November 2009 - 05:11 AM |