USB Raw Gadget, USB құрылғыларын эмуляциялауға арналған Linux модулі қол жетімді

Google-дан Андрей Коновалов жаңа модуль әзірлеуде USB шикі гаджеті, мүмкіндік беру пайдаланушы кеңістігінде USB құрылғыларын эмуляциялау. Күтуде қолдану осы модульді негізгі Linux ядросына қосу үшін. USB Raw гаджеті әлдеқашан қолданылады құралдарды пайдалана отырып, USB ядросы стегінің анық емес тестілеуін жеңілдету үшін Google сызкаллер.

Модуль ядроның ішкі жүйесіне жаңа бағдарламалау интерфейсін қосады USB гаджеті және GadgetFS-ке балама ретінде әзірленуде. Жаңа API құру USB Gadget ішкі жүйесіне пайдаланушы кеңістігінен төмен деңгейлі және тікелей қол жеткізу қажеттілігінен туындады, бұл оған барлық ықтимал USB сұрауларын өңдеуге мүмкіндік береді (GadgetFS кейбір сұрауларды пайдаланушы кеңістігіне жібермей дербес өңдейді) . USB Raw гаджеті GadgetFS жүйесіндегі /dev/gadget сияқты /dev/raw-гаджет құрылғысы арқылы басқарылады, бірақ өзара әрекеттесу жалған FS емес, ioctl() негізіндегі интерфейсті пайдаланады.

Пайдаланушы кеңістігіндегі процесс арқылы барлық USB сұрауларын тікелей өңдеуден басқа, жаңа интерфейс USB сұрауына жауап ретінде кез келген деректерді қайтару мүмкіндігін береді (GadgetFS USB дескрипторларының дұрыстығын тексереді және анықтауға кедергі келтіретін белгілі бір жауаптарды сүзеді. USB стегінің анық емес сынағы кезіндегі қателер). Raw гаджет сонымен қатар белгілі бір UDC (USB Device Controller) құрылғысын және тіркеу үшін драйверді таңдау мүмкіндігін береді, ал GadgetFS бірінші қолжетімді UDC құрылғысына тіркейді. Болжалды атаулар әртүрлі ӘОЖ-ға тағайындалады соңғы нүкте бір құрылғыдағы деректер алмасу арналарының әртүрлі түрлерін бөлу үшін.

Ақпарат көзі: opennet.ru

пікір қалдыру