Skip to content

USBMSD not recognised in MacOS #10342

@ttchisholm

Description

@ttchisholm

Description

branch: feature-hal-spec-usb-device
commit: f8864ae
Device: mbed LPC1768 development board + standalone LPC1768
Toochain: GCC_ARM, vsCode
OS: Mac OS 10.14, Windows 10

Implementation of the USBMSD class does not correctly appear in Mac OS as a mass storage device. The device shows up in the system information tree but not in disk utility. Blockdevice (tested with both HeapBlockDevice and a Custom SPIFBlockDevice) is formatted as FAT and working correctly with Windows 10.

The system information tree information is as follows, a working USBMSD has another section underneath it labelled 'Media:'

"
Mbed MSD:
Product ID: 0x0104
Vendor ID: 0x0703 (Bvtech Industry Inc.)
Version: 0.01
Serial Number: 0123456789
Speed: Up to 12Mb/sec
Manufacturer: mbed.org
Location ID: 0x14100000 / 18
Current Avaliable (mA): 500
Current Required (mA): 200
Extra Operating Current (mA): 0
"

Changing the Vendor ID, Product ID and Serial number have no effect. Unsure if this is an issue with MacOS however the MSD through the MBED IF chip for the development board flash works correctly.

Relevent USB code that reproduces the issue:

int main()
{
  AT25SPIFBlockDevice bd(SPI1_MOSI, SPI1_MISO, SPI1_SCLK, SPIF_CS, 10000000);
  USBMSD *_pUSB = new USBMSD(&bd, false);
  _pUSB->connect();

  while (1)
  {
    _pUSB->process();
  }

  return 0;
}

and

int main()
{
  HeapBlockDevice bd(32 * 1024, 512);
  USBMSD* _pUSB = new USBMSD(&bd, false);
  _pUSB->connect();

  while (1)
  {
    _pUSB->process();
  }

  return 0;
}

Issue request type

[ ] Question
[ ] Enhancement
[x] Bug

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions