Мы так привыкли использовать всяческие примочки к компу, подключаемые по шине USB (universal serial bus), что успели позабыть про чудеса вроде SCSI, последовательных и параллельных портов, FireWire, полпса (PS/2) и прочей древней мути. Ныне, большая часть устройств тупо втыкается в небольшой четырехконтактный разъемчик, коих на современных компах понатыкано со всех сторон. Тут и клавы с мышами, и web-камеры, фотоаппараты, телефоны, принтеры... Боже ж мой! Лично мой комп представляет собой "компактное" завершение толстого пучка проводов, расползающегося в разные стороны. И большая часть соединений там - именно по USB!
Производители техники активно развивают этот формат подключения, постоянно увеличивая предельную скорость обмена и возможности снабжения питанием клиентских устройств. Благодаря чему, мы уже не заморачиваемся с прямым подключением винта для копирования данных - достаточно переносного диска на USB-3... и практически никакой разницы в скорости.
Но привычка - штука злая.
Прикидывая использование Raspberry Pi в качестве мегадевайса для тупого дома, способного при десятиваттном потреблении обслуживать и несколько камер, и принтеры, и фоновую музыку, да еще и точкой доступа работать, чтоб не кисло было... я повелся на наличие четырех разъемов USB-2 на его "тыльной стороне". Ан нет! "Антракт, негодяи!" (ц). А вам приходило в голову, что наличие портов ввода-вывода еще не значит, что они могут работать одновременно? Вот и я повелся на эту маркетинговую лапшу...
Между тем, внутренняя структура портов "малины" выглядит следующим прискорбным образом:
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
|__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
|__ Port 3: Dev 4, If 0, Class=Vendor Specific Class, Driver=ath9k_htc, 480M
|__ Port 4: Dev 5, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 4: Dev 5, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 5: Dev 6, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 5: Dev 6, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 5: Dev 6, If 2, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 5: Dev 6, If 3, Class=Audio, Driver=snd-usb-audio, 480M
Сравним с "дешевым" атомом:
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 1: Dev 2, If 1, Class=Wireless, Driver=btusb, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M
Мама дорогая! Господа разработчики сего мегадевайса не только прислушались к мнению "дорогого Леонида Ильича" по поводу "экономности экономики", но и с чисто буржуйским понтом навесили на многострадальный хаб ажна пять портов!!! И это при том, что он даже заявленной пропускной способности не имеет! Ну и чтобы он не скучал, еще и сетевую карту повесили на него же...
Ну не сволочи!?
На мой взгляд, куда как честнее поступили господа китайцы, с их "апельсинами" и "бананами", повесив на встраиваемые компы лишь по одному, но НОРМАЛЬНОМУ порту. Да еще и оставили несколько не распаянных корневых хабов, которые они используют на старших моделях.
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=sunxi-ohci/1p, 12M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=sunxi-ohci/1p, 12M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=sunxi-ohci/1p, 12M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=sunxi-ohci/1p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=sunxi-ehci/1p, 480M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=sunxi-ehci/1p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=sunxi-ehci/1p, 480M
|__ Port 1: Dev 3, If 0, Class=Communications, Driver=cdc_ether, 480M
|__ Port 1: Dev 3, If 1, Class=CDC Data, Driver=cdc_ether, 480M
|__ Port 1: Dev 3, If 2, Class=Mass Storage, Driver=usb-storage, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=sunxi-ehci/1p, 480M
Но что до несбыточности мечт, это не под Новый Год! Просто придется слегка поумерить аппетиты. Не в количественном, а в качественном плане. Одновременное обслуживание точки доступа, двух камер и USB-микрофона таки возможно, но придется поставить частоту кадров и размер изображения на камерах и частоту дискретизации микрофона на необходимые минимумы с тем, чтобы их суммарная скорость была в пределах пары сотен мегабит. Что до робкой надежды на подключение приличной внешней звуковой карты - забудьте - она одна отжирает больше, чем все остальные игрушки.
Ну и в качестве резюме, могу сказать, что для задачи "все в одном" "малина" все же не годится. Лучше попробовать поиграться с китайскими поделками или уж сразу смотреть в сторону Intel Atom, хоть и потребление у него не такое скромное, как у SOC компьютеров.