USB-принтеры для USB-ядра
-
Блин, это просто печально.
Да ладно, не все же принтеры можно завести. Но, думаю, многие со временем заработают.SoUrcerer wrote:Блин, это просто печально.
Проверил ML-2015 с PostScript. Пока не работает.
Дома есть струйник Canon, на днях попробую и его.
- Attachments
-
-
ML-2015-ps.txt (7.73 KiB)Downloaded 251 times
-
Проверил usbother_ps.obj.
Печати не было.Canon ip1700. Postscript. Не напечатало.
- Attachments
-
-
IP1700.TXT (11.13 KiB)Downloaded 252 times
-
Ip1700-afterwindows.txt (11.15 KiB)Downloaded 244 times
-
Хм, логи выглядят хорошими. We need to go deeper.
Хренова оборжака. После печати из Windows на моём HP1200 точно так же, как и у всех, не получается ничего напечатать. А вот после Linux - пожалуйста!
Не уверен, что это относится ко всем принтерам, но суть вы поняли, да? Сейчас попробую запуститься в Windows, выключить компьютер "внештатным способом", и потестировать - хотя в теории сброс может отправляться на принтер сразу после печати.
Не уверен, что это относится ко всем принтерам, но суть вы поняли, да? Сейчас попробую запуститься в Windows, выключить компьютер "внештатным способом", и потестировать - хотя в теории сброс может отправляться на принтер сразу после печати.
Чудесатые чудеса. Мало того, что печать из Windows никак не влияет на печать из Колибри - так открываются еще более любопытные детали.
Обычная печать из Linux (Файл-Печать) тоже никак не помогает. Последовательность действий, которая у меня приводит к рабочему в Колибри принтеру, это:
Утверждать не буду, но я думаю, что это примерно то же самое, что и сделать "cat file.txt /dev/usb/lp0" - я просто этого еще не пробовал.
После этого у меня отлично работают самые последние версии usbother на HP1200. Теперь у меня жгучее желание проверить и другие принтеры таким образом.
Кстати, отладочный вывод принтера "до" и "после" загрузки прошивки ничем не отличается. Принтер гордо рапортует:
Вывод: печать в Windows с большой вероятностью не поможет совершить тестовую печать.
Вывод 2: нужно искать способ загружать прошивку в принтер из Колибри.
Обычная печать из Linux (Файл-Печать) тоже никак не помогает. Последовательность действий, которая у меня приводит к рабочему в Колибри принтеру, это:
Code: Select all
python
p=open("/dev/usb/lp0","w")
p.write("Hello")
p.close()
exit()
После этого у меня отлично работают самые последние версии usbother на HP1200. Теперь у меня жгучее желание проверить и другие принтеры таким образом.
Кстати, отладочный вывод принтера "до" и "после" загрузки прошивки ничем не отличается. Принтер гордо рапортует:
Такие вот новости.{'product': 'HP LaserJet 1200', 'des': 'Hewlett-Packard LaserJet 1200', 'vid': 1008, 'mdl': 'HP LaserJet 1200', 'mfg': 'Hewlett-Packard', 'mem': '8MB', 'cmd': 'PJL,MLC,PCL,PCLXL,POSTSCRIPT', 'pid': 791, 'serial': '00CNCF264732', 'cls': 'PRINTER'}
Вывод: печать в Windows с большой вероятностью не поможет совершить тестовую печать.
Вывод 2: нужно искать способ загружать прошивку в принтер из Колибри.
Раскуриваю код hplip, впечатляет. Драйвер HP делает дополнительные настройки при подключении - сейчас разбираюсь, какие именно.
http://cgit.haiku-os.org/haiku/tree/src ... 801bb1f429
описание PCL5
описание PCL5
Проверил, после печати из Haiku мой HP1200 тоже отлично печатает. В Haiku судя по исходникам поддержка usb printer в теории ничем не отличается от того, что делает usbother.obj, но
1) оно работает
2) оно работает с кучей принтеров
1) оно работает
2) оно работает с кучей принтеров
Там может не один драйвер, а несколько.
Нет, я внимательно посмотрел. Для всех usb-принтеров один "транспорт" (bulk write), и несколько драйверов, превращающих данные в pcl или что-то ещё. Возможно, данные pcl/ps из тех, что у меня есть, какие-то неправильные. Надо проверить.
Драйвер Haiku перебирает доступные интерфейсы, проверяет endpoints и явно устанавливает текущую конфигурацию
Code: Select all
((BUSBInterface*)interface)->SetAlternate(alt);
Да, я обратил на это внимание. Однако, интерфейс должен подойти любой - 07/01/01, 07/01/02 и 07/01/03 (что явственно указано в конфигурации); endpoints у принтеров 07/01/02 ровно два, один in и один out, при этом мне интересен только out. Ядро при загрузке драйвера, насколько я понял, само выбирает и устанавливает конфигурацию. Поправьте, если я не прав.
Я не понимаю, почему после определенной последовательности действий принтер печатает из Колибри, но без неё - нет. Если понять, почему именно так - печать должна заработать везде.
Я не понимаю, почему после определенной последовательности действий принтер печатает из Колибри, но без неё - нет. Если понять, почему именно так - печать должна заработать везде.
Сейчас сгенерировал PS-документ из Haiku и попробовал распечатать - no success. Возможно, "драйвер" PS шлет какие-то команды инициализации перед печатью - нужно это проверить.
Who is online
Users browsing this forum: No registered users and 4 guests