Mounting as drive on Windows

So, my BBB is running perfectly with Robert’s latest Debian release. I can mount it as a drive on my desktop just fine. But now I need (through circumstances beyond my control) to mount it as a drive on Windows. I’m pretty clueless about Windows. I have a laptop with Windows 7-64, I downloaded the drivers as recommended on the BB site, but it still won’t mount. I’ve also seen the INF file in the kernel source, but I have no idea how I might need or use that. Any Windows-competent folk out there who might know how to get this working? BTW, I don’t really care about the RNDIS or UART stuff, but if I have to have them to get the storage part working, that’s fine.

You ran the 64bit driver install → connected to the BBB using USB → Mass Storage Device did not mount?
Did windows display anything? “Installing drivers”?

If not, does anything show up in device manager under Portable Devices?
Or is there anything with a small triangle exclamation mark.

Start->run->"mmc devmgmt.msc"

Samba ?

Samba works too.

If all you need is access to the Linux filesystem on the BBB, then Samba is the best way to go. Any working howto for Debian wheezy found on the web should work.

Then, on Windows . . .

  1. Right click computer

  2. Select map network drive.

  3. add \BBB_ip_address\sharename

  4. select connect using different credentials checkbox

  5. click finish

  6. enter username / passwd for Linux smbuser

Yes, I downloaded and ran the 64-bit driver installer. When I plug in the BBB, I get the little “clunk” noise, and a window saying “Device driver was not successfully installed”. The popup window shows the name “BeagleBoneBlack”, and “No driver found” with a red X.

Device manager lists “Other Devices”, and under that, “BeagleBoneBlack” with a yellow bang icon. Popup says "The drivers for this device are not installed.(Code 28). Google is not helpful.

For the rest of you, thanks for the Samba suggestion; yes, I’m sure that would work if I just wanted to get files off the BBB, but the client wants this particular function. It used to work with Angstrom, so I’m sure it’s just a minor issue of changing a name or number somewhere.

Try
right click on “BeagleBoneBlack” with a yellow bang icon → update driver software → browse computer for driver software → let me pick from a list of device drivers
Manufacturer → Microsoft
Model → WDP FileSystem Volume Driver

You need to install the driver while the device is plugged in . . .

Anyhow, I have not installed this driver since the BBB first came out, but it worked fine straight away for me on Angstrom, and then following RCN’s instructions of cross compiling kernel / setting up a rootfs, it worked fine with this driver as well. I use the same or similar version of Windows. Windows 7 X64 Enterprise.

A couple things to think about.

  1. With the stock Debian it may be possible that the BBB will take up to around a minute to fully boot up. So the USBNet drivers wont be up until this happens.

  2. When deleting the drivers from the system in preparation of reinstallation, you should enter into safe mode ( F8 boot option )

  3. When installing the drivers make sure you have elevated permissions. Some people disable UAC, which may / may not cause issues. Others yet may try to install drivers as a regular user not realizing that installing drivers requires admin privs. With UAC disabled this could be a problem. Right clicking the the executable and selecting Run as . . . → Admin should do the trick.

Sorry if this seems obvious . … kind of hard to troubleshoot a PC over the internet when you have no idea what all is going on at the given system.

I’ve tried every combination that I can think of now–device plugged in on powerup, plugging in after powerup and then installing, removing from device manager or not before installing. I even made sure the BONE_D64.exe I’m using is the one from the BBB itself. It runs fine, installs whatever it installs wherever it puts it (I love how Windows is so opaque about such things). It just never works. I know there’s nothing wrong with the BBB or with the hardware, because the very same BBB, laptop, and cable all work exactly as they should when the laptop is booted into a real OS, it’s only Windows that is the problem. I’m using Windows 7 Home Premium 64.

I could not find anything like the “WDP FileSystem Volume Driver” that code suggested.

Try temp disabling your AV software before installing.

By the way, if the above does not work, you’re going to need to give a complete description of your setup.

Exactly what you want to achieve. “Storage” is rather vague, a complete description of what you’re trying to do would help much more.

How everything is connected.

Exactly what version of the kernel you’re using e.g. uname -a, or lsb_release -a

Plus anything else you think might be pertinent.

There are definitely multiple ways to skin the proverbial cat as they say. And I have personally found that RNDIS between Linux and Windows to be very flaky at best. Lost connections for no apparent reason, very slow performance, etc.

Turning off AV (I was using MS’s own Security Essentials) makes no difference. On the BBB side I’m using Robert’s latest Debian release (3/27), updated with his script to the beta kernel (3.13.9-bone9). When I connect to the laptop via USB, with the laptop running Ubuntu 12.04, the first FAT partition of the BBB comes up as /dev/sdX, which I can then mount with no trouble, and use as a USB drive. The same laptop, same cable, same BBB with the laptop running Windows gives me nothing but errors. I don’t care about RNDIS or the serial stuff. I (or rather, my client), just needs to be able to copy files into and out of that FAT partition with the BBB mounted as a USB storage device.

My Windows machine is pretty stock–the one thing I know well about WIndows is not to install any software that’s not absolutely necessary. So It’s just WIndows 7 Home Premium 64 bit, MS Security Essentials, MINGW/MSYS to make it usable, Git, Python, and a few SDKs from chip companies who like Windows for some reason. Oh, and of course IE removed immediately after doing its only duty to download Chrome.

There is a way you can view every_single_device_driver whether active or not in device manager. That I can not remember offhand. This would help to see if you have one or more “stuck” device drivers conflicting with one another on the system. You can google how this is done.

The more you tell us about your situation the above is sounding more likely. Also sometimes with devices like these, you need to plug the USB cable into USB HUB port ( master port ) for it to be recognized properly. Although the only time I’ve personally experienced with was with a different embedded board ( MSP430 Launchpad ).

Start → All programs → Accessories → Right click command prompt → run as administrator.

Microsoft Windows [Version 6.1.7601]
Copyright © 2009 Microsoft Corporation. All rights reserved.

C:\Windows\system32>SET DEVMGR_SHOW_NONPRESENT_DEVICES=1

C:\Windows\system32>devmgmt.msc

Device manager comes up and shows two new devices,

  1. Network adapters → Linux USB RNDIS Ethernet Gadget

  2. USB mass storage device ( the one you’re wanting )

Also under Network Connections I have a Linux USB RNDIS Ethernet Gadget local area connection. When first plugged in since I have the drivers already installed the mass storage device comes up after about a minute. Clicked open as folder view and all the files like START.htm are present.

The kernel version I am using on the eMMC is still 3.8.11( updated first week of release once before moving to debian on a uSD card ). This is Angstrom of course.

Anyway, I have had plans for quite some time to move to a newer kernel on Debian, I just have not got around to it yet. I think I am using 3.8.11-bone25 ish with a rootfs from sometime around December( also custom install).

One thing to note: When i first switched to Debian and started caring about RNDIS / mass storage device etc, I did have problems getting these to come up at first. The problem as I recall had to do with the Angstrom driver conflicting with or not acting like the Debian one. SO I had to boot int safe mode, and manually remove the drivers. Before booting back into Windows normally, then reinstalling the drivers fresh. However, I do not recall the exact steps I took to solve this issue . . .

Also since I built a custom kernel following Robert C Nelson’s instructions, I followed his directions here http://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-usbgadget%28httpaccesstobeagleboneblackoverusb%29 to get the RNDIS / Mass Storage drivers to work with Windows.

I appreciate all your help, but I’m just not seeing what you see in devmgmt.msc, even with your SHOW_NONPRESENT hack, and with “show hidden devices” checked in the app itself. Nor do I see anything in the network connections. I don’t know if Windows7 is the difference, or 64-bit is the difference.

Coming from the other side, when I eliminate g_multi and just run g_mass_storage, all is weil. No driver needed, it just comes up working with no problem. That will solve my needs for now, but I’m still curious why the drivers don’t seem to work on my laptop.

Device manager → view → show hidden devices.

Anyway, if you need to work with Windows, I suggest you find a good read, and start learning. Its an OS, and is documented just as well as Linux, perhaps even better. Google most of the time is sufficient.