Linux er Knippix i websdr.dk
Det har vist sig at Linux måde at reservere båndbredde på er interessant.
En USB 2.0 bus kan overføre 480 Mbit/s i high speed. Dette er et absolut maksimum for alt hvad der er tilsluttet en USB port direkte på IO processor.
En full Speed device kan overføre 12 MBit/s.
Lydkortet kører Isokron full speed (garanteret bådbredde) og i USB der der 1023 bytes per mS til rådighed for den slags.
Hvis sample rate er 192 ks/s og der er 2 kanaler af 16 bit (2 bytes) , bliver resultatet at der skal overføres 768 bytes/mS - det lader sig gøre.
Hvis sample rate er 192 ks/s og der er 2 kanaler af 24 bits (3 bytes), bliver resultatet at de skal overføres 1152 bytes/mS - det lader sig ikke gøre.
Så nu ved vi at ved Full Speed isokron kan der aldrig blive overført mere end 8 Mbit /s, i dette tifælde (192 / 16 ) bliver der nok til 6,1 Mbit/s
Det har vist sig at Linux, idet den jo skal garantere at der er plads på bussen, sætter lydenheden til 12Mbit/s - hvilket er fornuftigt nok.
De konstruerede lydkort, indeholder ud over lydenheden også en USBCDC (rs232 over usb) til konfigurering og styring.
Det har vist sig at Linux, ide den jo skal garantere at der er plads på bussen, sætter cdc enheder til 12Mbit/s - meget optimistisk...
eller .... der er jo kun een fysisk Full Speed enhed og den kan jo aldrig forbruge mere end 12 MBit/s, men er nu sammenlagt blevet til 24 MBit/s.
Og nu er det næste trin efter CPU jo en HUB. Sådan en sag kan højest klare 7 porte. Her er et dump af hvordan Linux ser 2 gange 5 lydkort på 2 hubs:
Her er en lsusb listing.
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
|__ Port 1: Dev 28, If 0, Class=Hub, Driver=hub/7p, 480M
|__ Port 1: Dev 29, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 29, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 55, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 55, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 3: Dev 31, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 3: Dev 31, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 4: Dev 54, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 4: Dev 54, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 5: Dev 33, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 5: Dev 33, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 34, If 0, Class=Hub, Driver=hub/7p, 480M
|__ Port 1: Dev 35, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 2: Dev 37, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 37, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 3: Dev 36, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 3: Dev 36, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 5: Dev 38, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 5: Dev 38, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 6: Dev 39, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 6: Dev 39, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 7: Dev 40, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 7: Dev 40, If 1, Class=Audio, Driver=snd-usb-audio, 12M