Wanneer USB-apparaten meer melden dan ze kunnen bewijzen

Bureaulade met USB- en USB-C-kabels

Onlangs publiceerde Ben Lovejoy van 9to5Mac een artikel over de gratis Mac-applicatie WhatCable, een slimme tool die informatie uit elektronisch gemarkeerde USB-C-kabels uitleest en die in een gemakkelijk te begrijpen vorm weergeeft. Voor iedereen met een lade vol vrijwel identieke USB-C-kabels kan de software snel de laadmogelijkheden, ondersteunde gegevenssnelheden, USB-specificaties en andere eigenschappen herkennen die anders voor de gebruiker verborgen zouden blijven.

Tijdens het lezen van het artikel sprong één zin er meteen uit.

Tegen het einde van de review merkt Lovejoy op dat de applicatie niet perfect werkt, omdat sommige kabels kunnen liegen over hun mogelijkheden.

Hoewel die opmerking slechts een korte observatie over USB-C-kabels was, wijst ze op een veel groter technisch principe dat van toepassing is op vrijwel elk USB-apparaat op de markt. Of de hardware nu een USB-C-kabel, USB-stick, SSD of zelfs een USB-hub is, er bestaat een belangrijk verschil tussen wat een apparaat over zichzelf meldt en wat onafhankelijke tests aantonen dat het werkelijk kan.

Voor lezers die onlangs onze uitleg hebben gezien over USB-gegevensverificatie en waarom een stroomcyclus belangrijk is, is het onderliggende principe opvallend vergelijkbaar.

Moderne USB-apparaten geven voortdurend informatie over zichzelf door. Een USB-C-kabel kan een eMarker-chip bevatten die de ondersteunde laadstroom, gegevenssnelheden en leveranciersinformatie aangeeft. USB-sticks melden hun opslagcapaciteit, USB-versie en fabrikantidentificatie. SSD’s houden SMART-informatie bij die de gezondheid van de schijf, de resterende levensduur en de bedrijfstemperatuur beschrijft. In al deze voorbeelden meet de hostcomputer niet onafhankelijk elke gemelde eigenschap. In plaats daarvan toont hij informatie die door het apparaat zelf wordt aangeleverd.

In de overgrote meerderheid van de gevallen is die informatie correct. De praktijk heeft echter herhaaldelijk laten zien dat descriptors niet hetzelfde zijn als verificatie. Vervalste USB-sticks melden al jarenlang capaciteiten die veel groter zijn dan het daadwerkelijk geïnstalleerde NAND-geheugen. USB-C-kabels geven soms prestatieniveaus op die zij onder echte gebruiksomstandigheden niet consequent kunnen volhouden. Opslagapparaten kunnen een uitstekende gezondheid rapporteren terwijl zich onder zware belasting al sporadische storingen beginnen te ontwikkelen. De descriptors zelf zijn niet per se onjuist; ze geven simpelweg weer wat de controller denkt, of wat hij geprogrammeerd is om te melden.

Juist daarom is de discussie rond verificatie na een stroomcyclus zo interessant. Een directe verificatie bevestigt dat gegevens onmiddellijk nadat ze zijn geschreven met succes kunnen worden teruggelezen. Een stroomcyclus stelt een andere vraag: bestaan de gegevens nog precies zoals verwacht nadat de controller volledig is uitgeschakeld, opnieuw is opgestart en zijn interne toestand opnieuw heeft opgebouwd? Het verschil is subtiel, maar belangrijk. De ene methode valideert een geslaagde transactie, terwijl de andere een strengere test biedt om vast te stellen of de gegevens werkelijk zijn blijven bestaan nadat het apparaat opnieuw is gestart.

Niets hiervan moet worden opgevat als kritiek op de WhatCable-applicatie. Sterker nog, de applicatie lijkt precies te doen waarvoor zij is ontworpen. De mogelijkheden van een kabel in duidelijke taal weergeven is veel nuttiger dan van gebruikers te verwachten dat zij USB Power Delivery-descriptors of eMarker-gegevens handmatig ontcijferen. De applicatie laat simpelweg een technische realiteit zien die al tientallen jaren bestaat: software kan alleen rapporteren wat de hardware beschikbaar stelt. Wanneer de door de hardware aangeleverde informatie onvolledig of onnauwkeurig is, kan software niet zelfstandig elke beperking corrigeren.

De bredere les is dat USB-descriptors, SMART-gegevens, kabelidentificatie en apparaatenumeratie allemaal moeten worden gezien als waardevolle informatie, maar niet als absoluut bewijs van prestaties of betrouwbaarheid. Ze vormen het begin van een beoordeling en niet de conclusie ervan. Of het doel nu is om een snelle USB-C-kabel te valideren of de integriteit van gedupliceerde flashmedia te bevestigen, betekenisvolle tests vereisen nog altijd dat wordt bekeken hoe de hardware zich onder werkelijke gebruiksomstandigheden gedraagt. In de techniek bestaat een aanzienlijk verschil tussen een apparaat dat zijn mogelijkheden beschrijft en een apparaat dat die mogelijkheden consequent aantoont.

E-E-A-T-opmerking: Dit artikel is gebaseerd op praktijkervaring met USB-flashgeheugen, USB-duplicatiesystemen, gegevensverificatie en tests op hardwareniveau. GetUSB.info behandelt sinds 2004 USB-technologie, flashopslag en onderwerpen rond gegevensintegriteit.

Meer artikelen lezen

Blijf ontdekken met meer verhalen, analyses en technische inzichten.