TL;DR: Распечатка выглядит как привет из 90-х, Windows 3.x вызывает свои принтеры обратно. Сканирование удивительно "просто работает", по крайней мере при подключении USB. 3D печать в разработке. Поддержка сети вызывает смешанные чувства. Смартфоны у меня пока не заработали. Устройства с последовательным интерфейсом USB, в основном, работают. Недавно я открыл для себя Haiku, неожиданно хорошую систему. Сегодня мне интересно выяснить, как она обеспечивает поддержку оборудования, особенно в областях распечатки, сканирования, 3D печати, работы сетевого оборудования, смартфонов, устройств с последовательными USB портами, к примеру Arduino. Есть только один способ это выяснить — взять и попробовать! Да начнется праздник втыкательства! На Mac, МФУ HP LaserJet Pro 200 color, подключенный к местной локальной сети, просто появился как доступный принтер безо всякого моего вмешательства. Даже в последних версиях Ubuntu принтер распознался полностью автоматически. Я могу загрузиться с LiveISO и принтер появится в диалогах печати без каких-либо действий. Благодаря IPPEverywhere не нужно устанавливать драйвера. На Haiku? Первый сюрприз: браузер WebPositive по умолчанию даже не дает команду "Печать". А вот StyledEdit — да. Когда я жму в нем Alt+P — выскакивает окно с установкой принтера по умолчанию.
Согласен, конечно же. Появившийся список принтеров отображает "Предпросмотр" и "Сохранить как PDF", но моего МФУ HP LaserJet Pro 200 color со всем его волшебством Zeroconf и IPPEverywhere не видать. 
Мне бы хотелось "простого появления тут" HP LaserJet Pro 200 color МФУ, как это произошло в других современных операционных системах, включая Linux. Так что я щелкаю "Добавить..." 
Надо быть мастером-кудесником распечатки, чтобы понять это. Я выбрал "IPP". Далее: оно не распознает имеющийся у меня принтер. В этот момент я как будто вернулся на Windows 3.x. Оно бы еще дискетку переставить попросило. 
Здесь нет МФУ "HP LaserJet Pro 200 color" Не находится "HP LaserJet Pro"? Слишком новый? Вряд ли, устройству как минимум лет 5. Ну что же, выберу тогда схожий "HP Color LaserJet CM2320 МФУ". В предвкушении возвращаюсь в StyledEdit, жму Alt+P. Что это? Шутка? 
Диалоговое окно спрашивает у меня "URL". Ну, знаете, мало ли. Иду в терминал, но только для того, чтобы узнать, что безотказная команда avahi-browse, настоящий швейцарский нож, позволяющий узнать соответствие ip-адресов устройствам, отсутствует, и даже command-not-found не знает, где его найти. Погуглив, нахожу сообщение в блоге, где кто-то сообщает, что "в настоящее время я работаю над браузером служб, все почти готово". Поиск в HaikuPorts выдает только qmdnsengine, библиотеку. Я не могу найти программу, использующую указанную библиотеку. Тут я и сдался, потому что в конце концов печать не так уж и важна для меня. Ожидая худшего, достаю и сдуваю пыль с моего древнего планшетного сканера CanoScan LiDE 60 USB. С тех пор, как появились смартфоны с многопиксельными камерами, особой нужды в нем больше нет. Подключаю его к компьютеру с Haiku через USB, запускаю приложение Sanity для сканирования и, к своему удивлению, вижу спустя пару секунд такое вот приветствие: 
CanoScan LiDE 60 успешно сканирует в Haiku Не-а, программа Sanity не видит встроенный в МФУ сканер. Я думаю, что Mac его распознает и автоматически настроит, используя Zeroconf ("Bonjour"), одну из моих любимых "просто работающих" все время технологий. Haiku так не смогла. Смотрите раздел "Распечатка" выше. До сих пор нет программ с GUI для нарезки слоев. Но с момента прошлой публикации есть рабочая CLI программа. Спасибо, Герасим Троеглазов, отличное начало, но без GUI — неприкольно. Контроллер принтера — сущность для отправки данных 3D принтеру через последовательный порт. В программах нарезки Ultimaker Cura и PrusaSlicer он встроенный. Что из этого есть для Haiku? Я видел Atelier на снимке экрана выше. Предполагаю, данный вопрос решен. Sender — сущность для отправки данных сетевому 3D принтеру или контроллеру принтера через проводную или беспроводную сеть. В программах Ultimaker Cura и PrusaSlicer он встроенный. Смартфоны на Android используют Media Transfer Protocol (MTP) и\или Picture Transfer Protocol (PTP) при соединении с компьютером. Я нашел в HaikuDepot программу PhotoGrabber для скачивания и удаления изображений с цифровых камер, подключенных через USB по протоколу PTP. Сначала она не заработала с моим смартфоном. А потом я узнал, что нужно вручную переключиться на подключаемый модуль PTP.  Тем не менее, все еще не получилось использовать, программа показала часть изображений с устройства, а потом споткнулась. Я мог только надеяться, что она не удалит все мои фотографии с устройства. iPhone и iPad используют (конечно же) что-то собственное, согласно этому сообщению на форуме они (пока что) не работают с Haiku.
Однако не стоит винить в этом Haiku: на Linux, если взять старую iOS и достаточно свежий дистрибутив, есть шанс, что оно заработает… а потом опять начнутся кошки-мышки. Именно это мне и не нравится в продуктах Apple, спасибо ей. Работает на всех моих машинах Предполагается, что работает, но не у меня. У меня работает. Известно что не работает (пока?).  Многие устройства содержат, насколько мне известно, мост последовательный интерфейс — USB . Примерами таких устройств выступают различные устройства, включая 3D принтеры и платы Arduino. Наиболее часто используемые мостовые чипы это CDC, Prolific, FTDI и Silicon Labs. Все они поддерживаются в Haiku: Тем не менее, я получаю воспроизводимую панику ядра, для исправления которой есть обходной путь. Прошивка 3D принтера работает при использовании avrdude (хотя пришлось обходить известную ошибку с отсутствующими зависимостями). Так что инструменты, основанные на libusb, работают. 
Прошивка 3D принтера программой avrdude с использованием программатора USBASP Мне нравятся системы, работающие без сохранения состояния, в режиме только для чтения. Это одна из причин, по которым я использую LiveISO для Linux, которые после перезагрузки возвращаются к своему исходному состоянию. Как мне достичь такого же результата для Haiku? Я нашел эти инструкции для diskpart, очевидно рассчитанные на Windows: Согласно этой заметке, на Unix системах можно использовать hdparm для установки параметров SATA\IDE устройств: Задался вопросом, можно ли сделать такое же на Haiku. Поддержка оборудования в Haiku намного лучше, чем я ожидал. Да, местами есть нюансы, но ведь, как вы помните, система все еще даже не версии 1.0. Распечатка оставляет желать лучшего, но честно говоря, мне она сейчас не так уж и важна. Хотелось бы более глубокой и утонченной интеграции Zeroconf в систему, поскольку он один из тех "волшебных" ингредиентов, которые "просто работают". На этом я заканчиваю неделю с Haiku. Изначальная задумка была простым тестом, который настолько затянул меня, что я просто не мог оторваться от игры с ним. Сейчас я задаюсь вопросом: может ли Haiku превратиться в ту операционку "Hello", которую я представлял? Т.е. изначальный Mac, только в виде открытого кода? 
Может ли она стать изначальным Mac, только в виде открытого кода? Я сам не заметил, как стал участником: (оставил 3 заявки и 10 заявок в HaikuPorts). Мне кажется, что для приемлемого результата команда должна сосредоточиться и расставить приоритеты. Как бы сделал лично я: Команда разработки Haiku весьма приветлива и терпелива с новичком вроде меня. Огромная благодарность им за ответы на все мои вопросы, за то, что мирились с моими экспериментами и делились идеями. Но подождите, есть еще кое-что . Попробуйте сами! Ведь проект Haiku предоставляет образы для загрузки с DVD или USB, формируемые ежедневно. Для установки достаточно скачать образ и записать его на флешку с помощью Etcher Появились вопросы? Приглашаем вас в русскоязычный telegram-канал. Обзор ошибок: Как выстрелить себе в ногу в C и C++. Сборник рецептов Haiku OS От автора перевода: это седьмая статья из цикла про Haiku. Список статей: Первая Вторая Третья Четвертая Пятая Шестая Седьмая Восьмая Девятая Подниматель пингвинов