Some questions about your issue:
Have you tried to use the adapter on another device to check it's functionality?
Is the same behavior with another thing connected to the USB?
How are you powering the board?
Which image version are you using?
How are you rebooting the board?
Are you able to always see the device under /sys/bus/usb/devices?
Sorry about the delay. Below is the detailed information:
1. Have you tried to use the adapter on another device to check it's functionality?
Yes, I connected it to my laptop. In this case, the laptop is able to detect the adapter on every reboot.
2. Is the same behavior with another thing connected to the USB?
Yes. I connected a USB drive to Edison + mini breakout (using type-A micro USB to USB cable). The USB drive has a right LED showing whether it is working properly. Similarly, Edison can only detect the USB drive on every other reboot.
3. How are you powering the board?
I used the J21 power pins to feed Edison 12V power.
4. Which image version are you using?
I tried both Ubilinux (based on ww05-15 official yocto linux) and ww05-15 yocto linux. The behavior is the same.
5. How are you rebooting the board?
First using screen to connect to Edison, switch to root, and then type "reboot".
If the reboot is done by powering off - powering on Edison, the adapter (and the USB drive) can be detected on every reboot.
6. Are you able to always see the device under /sys/bus/usb/devices?
No. The adapter (and the USB drive) can only be seen under /sys/bus/usb/devices when the adapter is correctly detected.
Thanks a lot for your help!
I'm sorry for the delay in my response. Are you having the intermittent behavior only with the reboot command?
I don't have a microUSB module to test this in this moment but have you tried to use reboot-flags to check the behavior of the USB port?
root@edison:~# reboot -f
Thanks for your response. I tried reboot -f and reboot -p. Unfortunately, neither of them work. I think the bug occurs when ID=L and VBUS=H at boot time. Do you know if there is any way to force VBUS=L at boot time?
I found this reboot looses /dev/ttyACM0. It seems like your issue. There is already a report for fixing this issue so in the meantime the workaround would be reboot twice or unplug and plug the board.
You also can try with:
1. echo 1 > /sys/module/intel_mid/parameters/force_cold_boot
2. In this thread Re: USB Host mode from boot there is a solution that you could try. Seems that the problem is with ID and not with VBUS.
Thanks! It is great to know that the Edison team is fixing this bug.
In terms of the attempt to set force_cold_boot to 1, I've tried that. It does not work either.
Thanks again. Let's hope this bug will be fixed soon.