Auf der Ebene des USB-Busses sind die Paketgrößen durch die USB-Spezifikationen eingeschränkt - Einschränkungen für USB 2.0 sind:
- für Massentransfers - 512 Bytes für Hochgeschwindigkeitsendpunkte, 8, 16, 32 oder 64 Bytes für Vollgeschwindigkeitsendpunkte (und Bulk-Endpunkte mit niedriger Geschwindigkeit sind überhaupt nicht zulässig);
- für Interrupt-Übertragungen - bis zu 1024 Bytes für hohe Geschwindigkeit, bis zu 64 Bytes für volle Geschwindigkeit, bis zu 8 Bytes für niedrige Geschwindigkeit;
- für isochrone Übertragungen - bis zu 1024 Bytes für Hochgeschwindigkeit, bis zu 1023 Bytes für Vollgeschwindigkeit (und Low-Speed ist nicht mehr zulässig).
Einschränkungen für read () und write () können jedoch aufgrund von Pufferung durch Kerneltreiber unterschiedlich sein. Bei Verwendung von usbfs mit aktuellen Linux-Versionen können beispielsweise mit einem Systemaufruf bis zu 16384 Byte übertragen werden.