Does the architecture of the Compute Module (when mounted in a Compute Module IO Board) support simultaneous USB host and device/client port operation? This post suggests that a BeagleBlack Bone board is more suitable (because previous RPi only allowed host or device, but not both at the same time).

As a simple experiment, I tried connecting the USB host port to the slave port on the CMIO board (via a hub that also had a wi-fi adapter)-- this seemed to disrupt the entire USB (disconnecting all devices) until the slave port was disconnected.

1 Answer 1


No it does not unfortunately. The client mode is only used when flashing the eMMC with a new image. When Linux has booted normally there is USB hos only.

  • Right, but is that because of an architectural limitation or because an appropriate driver/configuration isn't in place?
    – jhfrontz
    Commented May 7, 2015 at 12:43
  • To my knowledge it's architectural. OTG controllers act either as host OR device. You haven't said what you wan't to achieve, but if it's to connect RPi to a PC I can recommend a USB Null modem cable: ftdichip.com/Products/Cables/USBtoUSB.htm Works for host-to-host connections. Commented May 7, 2015 at 16:18
  • Something I read made me think that only one of the ports was OTG and that the other was a pure device port-- I guess maybe that's the question: does the Broadcom SoC on the RPi CM have a single USB bus or are there two?
    – jhfrontz
    Commented May 7, 2015 at 20:28
  • There is a single USB port only. Commented May 7, 2015 at 21:07
  • On the compute module IO board there are two physical USB connectors (in the pic at raspberrypi.org/wp-content/uploads/2014/06/…, one a host at center bottom and one a device "slave" at bottom left). Are you saying that they are the same USB port?
    – jhfrontz
    Commented May 8, 2015 at 20:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.