norns shield as usb host devices limit

Hi there!

I have a norns shield and I’m trying to use it as a host for my synths and sequencers. What is the maximum number of devices that can connect simultaneously to norns? I currently can see up to 10 or 11 devices (I have a midihub and it shows as 4 devices, launchcontrol xl which shows as 2 devices).

Is there a way to change this limit? Is it hardware or software?

Thanks!

I believe the maximum number of USB devices that can be connected to a host is 127, but it might be further limited by the controller chip.

hope all’s well! if you’re describing the DEVICES > MIDI management menu, that UI handles up to 16 ports: control + clock | monome/docs

that count is baked into the software – this PR shows the steps taken to expand the management menu from the original count of 4, which maybe gives a useful bird’s eye: PMAP autosave + 16 MIDI vports by dndrks · Pull Request #1268 · monome/norns · GitHub.

but you should be able to remove and re-order unneeded devices from this list on-demand – there are just 16 UI slots to hold devices which you want to actively address / use at the same time, which tie into things like automatic clocking and the system MIDI mapping.

derks said it less fumblingly. i’ll add that there is a known bug where only bidirectional MIDI endpoints are recognized

(we’re working on it… a bit slowly but will get there)

known affected devices include:

  • korg sq-1 (output port)
  • logidy umi-3
  • MSW usb2midi
  • access virus (iirc?)

if you have discovered another such device it would be nice to know about it. sorry for the trouble

4 Likes

After much testing I can provide more information:

I have 8 devices which I’m trying to connect:

  1. Deluge
  2. Micromonsta 2
  3. Typhon
  4. Hydrasynth
  5. Cobalt 8M
  6. NTS-1
  7. Torso T1
  8. Faderfox EC4

I’m connecting all of them through an USB hub so there should be no power issue.

My issue is that I can see only 7 devices in the MIDI list.
In order to add the missing device I have to physically remove one of the existing ones. So for instance if I cannot see the Torso T1, I can disconnect the Faderfox EC4 and reconnect the T1. Doing this will make the T1 visible but Faderfox will not be shown (as it is physically disconnected). But if I reconnect the Faderfox afterwards I cannot see it, I have to remove another device and so on.

I also tried connecting some devices (cobalt and hydrasynth) from the hub directly to norns shield in order to remove any suspicions from the hub but the issue still persist.

Does anyone connect more than 7 devices to the norns shield? Is something wrong with my norns? Can I provide more information to anyone which has more experience?

Thank you.

1 Like

I just found out that if ssh-ing to norns and running lsusb actually shows the device which isn’t visible in the DEVICES > MIDI menu. Here’s the example when hydrasynth is connected but not shown in the midi menu.

1 Like

In case it helps, here the /var/log/syslog when connecting the 8th device (Torso T-1 in this case):

==> /var/log/syslog <==
Mar 26 17:57:57 norns kernel: [ 1448.405922] usb 1-1.4.1.1.2: new full-speed USB device number 29 using xhci_hcd
Mar 26 17:57:57 norns kernel: [ 1448.541851] usb 1-1.4.1.1.2: New USB device found, idVendor=03eb, idProduct=e9eb, bcdDevice= 1.09
Mar 26 17:57:57 norns kernel: [ 1448.541860] usb 1-1.4.1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Mar 26 17:57:57 norns kernel: [ 1448.541865] usb 1-1.4.1.1.2: Product: T-1
Mar 26 17:57:57 norns kernel: [ 1448.541869] usb 1-1.4.1.1.2: Manufacturer: Torso Electronics
Mar 26 17:57:57 norns kernel: [ 1448.541874] usb 1-1.4.1.1.2: SerialNumber: TORSO-T1-E42D4D41514E4346514A2020FF010633
Mar 26 17:57:57 norns kernel: [ 1448.546563] cdc_acm 1-1.4.1.1.2:1.0: ttyACM0: USB ACM device
Mar 26 17:57:57 norns kernel: [ 1448.549474] snd-usb-audio 1-1.4.1.1.2:1.2: cannot find the slot for index -1 (range 0-7), error: -19
Mar 26 17:57:57 norns kernel: [ 1448.549482] usb 1-1.4.1.1.2: cannot create card instance 7
Mar 26 17:57:57 norns kernel: [ 1448.549557] snd-usb-audio 1-1.4.1.1.2:1.3: cannot find the slot for index -1 (range 0-7), error: -19
Mar 26 17:57:57 norns kernel: [ 1448.549562] usb 1-1.4.1.1.2: cannot create card instance 7

Disconnecting T-1:

Mar 26 18:03:46 norns kernel: [ 1797.349241] usb 1-1.4.1.1.2: USB disconnect, device number 33
Mar 26 18:03:46 norns ws-wrapper[909]: rm_dev_tty: /dev/ttyACM0
Mar 26 18:03:46 norns ws-wrapper[909]: dev_monitor: an unrecognized TTY device was removed.

Disconnecting Hydrasynth:

Mar 26 18:05:16 norns ws-wrapper[909]: midi inconsistency for device: HYDRASYNTH DR
Mar 26 18:05:16 norns ws-wrapper[909]: ALSA lib rawmidi_hw.c:111:(snd_rawmidi_hw_status) SNDRV_RAWMIDI_IOCTL_STATUS failed: No such device
Mar 26 18:05:16 norns kernel: [ 1887.579091] usb 1-1.1: USB disconnect, device number 32

Reconnecting T-1 (when Hydrasynth is disconnected) and T-1 is working:

Mar 26 18:06:05 norns kernel: [ 1936.927307] usb 1-1.4.1.1.2: new full-speed USB device number 34 using xhci_hcd
Mar 26 18:06:05 norns kernel: [ 1937.063184] usb 1-1.4.1.1.2: New USB device found, idVendor=03eb, idProduct=e9eb, bcdDevice= 1.09
Mar 26 18:06:05 norns kernel: [ 1937.063193] usb 1-1.4.1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Mar 26 18:06:05 norns kernel: [ 1937.063198] usb 1-1.4.1.1.2: Product: T-1
Mar 26 18:06:05 norns kernel: [ 1937.063202] usb 1-1.4.1.1.2: Manufacturer: Torso Electronics
Mar 26 18:06:05 norns kernel: [ 1937.063207] usb 1-1.4.1.1.2: SerialNumber: TORSO-T1-E42D4D41514E4346514A2020FF010633
Mar 26 18:06:05 norns kernel: [ 1937.067873] cdc_acm 1-1.4.1.1.2:1.0: ttyACM0: USB ACM device
Mar 26 18:06:06 norns ws-wrapper[909]: device monitor: unmatched tty device
Mar 26 18:06:06 norns ws-wrapper[909]: device_monitor(): adding midi device T-1
Mar 26 18:06:06 norns systemd-udevd[7478]: controlC1: Process '/usr/sbin/alsactl -E HOME=/run/alsa -E XDG_RUNTIME_DIR=/run/alsa/runtime restore 1' failed with exit code 99.
Mar 26 18:06:06 norns ws-wrapper[909]: device_monitor(): adding midi device T-1
Mar 26 18:06:06 norns ws-wrapper[909]: _norns.midi.add: 12, T-1, userdata: 0xa55fa5a8

Reconnecting Hydrasynth (when T-1 is working, but hydrasynth won’t):

Mar 26 18:06:56 norns kernel: [ 1987.218602] usb 1-1.1: new high-speed USB device number 35 using xhci_hcd
Mar 26 18:06:56 norns kernel: [ 1987.348946] usb 1-1.1: config 1 interface 1 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64
Mar 26 18:06:56 norns kernel: [ 1987.348955] usb 1-1.1: config 1 interface 1 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 64
Mar 26 18:06:56 norns kernel: [ 1987.349304] usb 1-1.1: New USB device found, idVendor=0a67, idProduct=5119, bcdDevice= 1.00
Mar 26 18:06:56 norns kernel: [ 1987.349310] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=6
Mar 26 18:06:56 norns kernel: [ 1987.349314] usb 1-1.1: Product: HYDRASYNTH DR
Mar 26 18:06:56 norns kernel: [ 1987.349319] usb 1-1.1: Manufacturer: AshunSoundMachines
Mar 26 18:06:56 norns kernel: [ 1987.349323] usb 1-1.1: SerialNumber: 1234567890
Mar 26 18:06:56 norns kernel: [ 1987.350926] snd-usb-audio 1-1.1:1.0: cannot find the slot for index -1 (range 0-7), error: -19
Mar 26 18:06:56 norns kernel: [ 1987.350935] usb 1-1.1: cannot create card instance 7
Mar 26 18:06:56 norns kernel: [ 1987.351038] snd-usb-audio 1-1.1:1.1: cannot find the slot for index -1 (range 0-7), error: -19
Mar 26 18:06:56 norns kernel: [ 1987.351044] usb 1-1.1: cannot create card instance 7
Mar 26 18:06:56 norns mtp-probe: checking bus 1, device 35: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1"
Mar 26 18:06:56 norns mtp-probe: bus: 1, device: 35 was not an MTP device
Mar 26 18:06:56 norns mtp-probe: checking bus 1, device 35: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1"
Mar 26 18:06:56 norns mtp-probe: bus: 1, device: 35 was not an MTP device

After more digging, I see the limit of 8 that is defined here linux/core.h at 458e2253667a09bd01f1d50cc2b4063c14c491ec · monome/linux · GitHub

2 Likes