Mxchip IoT DevKit - Can't access the USB flash drive - usb

H,
I am trying to flash a new firmware image to my MXChip as per this quick-start guide
https://learn.microsoft.com/en-us/azure/iot-develop/quickstart-devkit-mxchip-az3166
I can build the .bin file, and when I connect the Devkit over USB I see a new usb flash drive called "(D:) AZ3166", but I cannot access this drive to copy the binary file to it. I get the error message "D:\ is not accessible. Access is denied.".
I found this page here
https://www.linkedin.com/pulse/mxchip-devkit-iot-central-firmware-flashing-errors-ben-vollmer/
But it didn't help because nothing happens when I press A+B. I also tried all 8 methods described here:
https://www.anyrecover.com/storage-device-tips/usb-access-denied/
But it didn't solve the problem.
Anyone has already had this? I ordered a batch of 5 MXChip boards, and it is the same on all of them.

Related

Android Emulator connect external storage Device while running

I have an App that needs to detect, if a USB Storage device is getting mounted. Can i simulate the mounting of an USB Storage Device while the Emulator is already running? This way i can debug the behavior of my app.
As i know, for registering the mounting and unmounting of the USB Storage Device i can use the StorageVolumeCallback(). What do i have to do to write a simple .txt File to that attached USB Storage Device?
Im having trubble to create a StorageManager inside my ViewModel because i do not have access to the Context.
Im thankful for any Tipp related to USB Storage Management at all.
Info:
API Version: 31
IDE: Android Studio
Language: Kotlin
Edit:
So i do not necessarily need to have a external usb drive mounted at startup. If its possible with adb it would be great if i could just forward a usb Pendrive to the running emulator when i need it. Something like adb connectUsbDevice -deviceid=****,vendorid=***
There isn't a .NET library I'm aware of which can do this. However, please refer to this post where the brilliant answer shows how to do this interfacing with the Win 32 API.
How do I disable a system device programmatically?
You'll need a combination of this, and a WMI query to find an attached PnP device of type storage. As a clue:
using (var searcher = new ManagementObjectSearcher(#"SELECT * FROM Win32_USBHub"))
{
collection = searcher.Get();
}
Change Win32_USBHub to the correct class if this isn't giving you what you're looking for.
EDIT: Be warned. If you're disabling storage devices, make sure they're not in use. That's what the "Safely remove USB" option is for in Windows.
Another option, if you don't need to emulate this in code, use a real USB storage device inserted in the system and use PowerShell to get, disable, and enable the device.
The Cmdlets you'll need are:
Get-PnpDevice
Disable-PnpDevice
Enable-PnpDevice

STM32 Virtual COM Port appears as Device in DFU Mode on Windows 10

So, my knowladge in embedded development is quite bad and now I am trying to receive some data from PC inside my MCu STM32F429IGT6 which is on WaveShare Core4X9I dev-board and send it back via USB Virtual COM Port.
I realized how to set up connection from MCu part and I even see connected device from Windows 10 Device Manager but... it appears as STM Device in DFU Mode
I have tryed already to install drivers from ST for such things but they are useless and official documentation says that they are not needed for Windows 10.
I have been following tutorials where guys just clicked several times inside Cube MX, generated code and VCP worked out of the box.
The question is what am I doing wrong? I don`t even know what information you might ask for thats why I created GitHub repo: https://github.com/dessy4oko/stm32f429-vcp-appears-as-dfu
And this is events from Device Manager of Windows 10 (translation from ru lang):
Device USB\VID_0483&PID_DF11\305233703237 is running. code 410
Device USB\VID_0483&PID_DF11\305233703237 is configured. code 400
Device USB\VID_0483&PID_DF11\305233703237 have not been moved due to partial or ambiguous matching. code 442
Device USB\VID_0483&PID_DF11\305233703237 requires further installation. code 430
Thank you for any information about my mistakes.
STM32 starts in DFU mode if BOOT-pins are pulled accordingly:
"System memory" means embedded bootloader, DFU in this case. You need "Main Flash" to run your app.
Check jumpers and switches on your board. Refer also to the AN2606 app note for complete information.

How to open USB drive in read-only/write protected mode in OSX, programmatically using objective C?

I'm trying to write a mac app to access USB. The USB can be written through app only and not in other means. I want to make sure,app is having exclusive write access to it. I tried to find some apis in disarbitration but all efforts are gone in vain.
Adding Further details ::
I'm not trying to make all USB ports as read-only. When I plugin USB drive to the system, it should ask for password. If authentication fails, then user can view the files but can't write to it.

USB Mobile Broadband Modem on Windows 10 IoT?

Anyone had experience using a USB Mobile Broadband on Windows IoT with the Raspberry Pi2 already?
I have a Huawei datacard in the Windows IoT and appears as HUAWEI Mobile on connected devices but I'm unable to see the device on the wifimanager.htm admin page.
Don't even appear on the Device Manager list. Is this lack of drivers?
I was looking for a solution too, and I have finally found one. I hope the following will help you!
For the record, I used a Vodafone (Huawei) K5150, "officially" supported and Microsoft verified, according to the hardware compatibility list: https://developer.microsoft.com/en-us/windows/iot/win10/supportedinterfaces. The device was recognized and visible on the portal through an hdmi screen. Anyway, the raspberry couldn't get internet access.
Here is what I did to make it work:
install the key on a common laptop and check the internet access. Windows should see it as a cellular connection by the way.
find the xml file generated by Windows and located under C:\ProgramData\Microsoft\WwanSvc\Profiles. This file is called a profile and is used by Windows to characterize every wireless connection it sees. You can of course create yourself this file from scratch, but it's far more complicated/boring. You can also normally do that with the netsh command and the import or dump sub-command, but it doesn't work for broadband devices.
connect your raspberry to your local network and go to \\[name or IP address]\c$. In my case, it was \\minwinpc\c$. There, find a suitable place to copy the xml file, as well as the bmp file next to it, and don't forget to modify its content to point the right path for the icon (the bmp file).
the next step is super tricky, but highly important: you have to find the subscriber ID for your key. The one saved in the xml file is actually a kind of hash and if you don't set the correct value you'll have an error like
Add Profile Failure: Invalid Profile XML.
connect the key to your raspberry and enter a PSSession with PowerShell (details here: https://developer.microsoft.com/en-us/windows/iot/win10/samples/powershell). Then, use this command: netsh mbn show readyinfo interface="Cellular". The correct interface (in my case it's "Cellular") can be retrieved with the command netsh mbn show interfaces (mbn standing for Mobile Broadband I suppose). The subscriber ID, with other useful information, is displayed and you can copy it the to the xml file on your raspberry.
what's left is the actual profile activation, in two parts: add the newly imported profile and tell the raspberry to connect to it. For that, use the commands netsh mbn add profile interface="Cellular" name="profile.xml" and netsh mbn connect interface="Cellular" connmode=name name=ProfileName.
You mobile broadband key should now be activated and the raspberry should automatically connect to it at start.
Here are the few links that helped me a lot:
export the profile: https://www.experts-exchange.com/questions/28324340/Adding-custom-mobile-broadband-profiles-in-Win-7.html
replace the subscriber ID: https://social.technet.microsoft.com/Forums/office/en-US/7c2d6c77-1974-432b-a439-6e58f9306234/receive-add-profile-failure-invalid-profile-xml-error-when-adding-wwan-profile-windows-7?forum=w7itpronetworking
connect to the raspberry to copy the files: https://developer.microsoft.com/en-us/windows/iot/win10/samples/smb

cannot connect to beaglebone black via ethernet or ssh

I cannot connect to my beaglebone black via ssh or usb,
I could connect via ssh/ethernet before I edited a file, and rebooted.
I thnink the file I changed was uEnv.txt and I think I commented out the line about HDMI
Any ideas? do i just need to reinstall the debian OS? via the memory card?
thanks for your help.
If it really was the uEnv.tx-file you don't need to reflash your img.
You can edit the uEnv.txt file again (easly with the plugged USB and explorer). If you comment things out in this file, the driver can't work properly. If you can tell me your img version (that's very usefull if you write it by every question down) I can show you the unmodified uEnv file.
You can easy also google that file.
An alternative way is to reflash the img. Recommendable for new BBB / Linux users. The img an guide is available at beaglebone.org
I hope I answered your question, otherwise write again!