Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Aug 19, 2019 4:48 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 170 posts ]  Go to page Previous 1 2 3 4 512 Next
Author Message
PostPosted: Fri Apr 12, 2013 11:37 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Блин, это просто печально.


Top
   
PostPosted: Fri Apr 12, 2013 11:54 am 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 752
SoUrcerer wrote:
Блин, это просто печально.

Да ладно, не все же принтеры можно завести. Но, думаю, многие со временем заработают.

Проверил ML-2015 с PostScript. Пока не работает.

Дома есть струйник Canon, на днях попробую и его.


Attachments:
ML-2015-ps.txt [7.73 KiB]
Downloaded 77 times
Top
   
PostPosted: Fri Apr 12, 2013 12:20 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Проверил usbother_ps.obj.
Attachment:
BOARDLOG.TXT [11.1 KiB]
Downloaded 74 times
Печати не было.


Top
   
PostPosted: Fri Apr 12, 2013 6:08 pm 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 752
Canon ip1700. Postscript. Не напечатало.


Attachments:
IP1700.TXT [11.13 KiB]
Downloaded 73 times
Ip1700-afterwindows.txt [11.15 KiB]
Downloaded 77 times
Top
   
PostPosted: Fri Apr 12, 2013 6:58 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Хм, логи выглядят хорошими. We need to go deeper.


Top
   
PostPosted: Sat Apr 13, 2013 9:22 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Хренова оборжака. После печати из Windows на моём HP1200 точно так же, как и у всех, не получается ничего напечатать. А вот после Linux - пожалуйста!
Не уверен, что это относится ко всем принтерам, но суть вы поняли, да? Сейчас попробую запуститься в Windows, выключить компьютер "внештатным способом", и потестировать - хотя в теории сброс может отправляться на принтер сразу после печати.


Top
   
PostPosted: Sat Apr 13, 2013 10:09 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Чудесатые чудеса. Мало того, что печать из Windows никак не влияет на печать из Колибри - так открываются еще более любопытные детали.
Обычная печать из Linux (Файл-Печать) тоже никак не помогает. Последовательность действий, которая у меня приводит к рабочему в Колибри принтеру, это:
Code:
python
p=open("/dev/usb/lp0","w")
p.write("Hello")
p.close()
exit()

Утверждать не буду, но я думаю, что это примерно то же самое, что и сделать "cat file.txt /dev/usb/lp0" - я просто этого еще не пробовал.
После этого у меня отлично работают самые последние версии usbother на HP1200. Теперь у меня жгучее желание проверить и другие принтеры таким образом.

Кстати, отладочный вывод принтера "до" и "после" загрузки прошивки ничем не отличается. Принтер гордо рапортует:
Quote:
{'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: нужно искать способ загружать прошивку в принтер из Колибри.


Top
   
PostPosted: Sat Apr 13, 2013 10:44 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Раскуриваю код hplip, впечатляет. Драйвер HP делает дополнительные настройки при подключении - сейчас разбираюсь, какие именно.


Top
   
PostPosted: Sat Apr 13, 2013 11:15 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
http://cgit.haiku-os.org/haiku/tree/src ... 801bb1f429
описание PCL5


Top
   
PostPosted: Sat Apr 13, 2013 11:54 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Проверил, после печати из Haiku мой HP1200 тоже отлично печатает. В Haiku судя по исходникам поддержка usb printer в теории ничем не отличается от того, что делает usbother.obj, но
1) оно работает
2) оно работает с кучей принтеров


Top
   
PostPosted: Sat Apr 13, 2013 12:16 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Там может не один драйвер, а несколько.


Top
   
PostPosted: Sat Apr 13, 2013 12:19 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Нет, я внимательно посмотрел. Для всех usb-принтеров один "транспорт" (bulk write), и несколько драйверов, превращающих данные в pcl или что-то ещё. Возможно, данные pcl/ps из тех, что у меня есть, какие-то неправильные. Надо проверить.


Top
   
PostPosted: Sat Apr 13, 2013 12:45 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Драйвер Haiku перебирает доступные интерфейсы, проверяет endpoints и явно устанавливает текущую конфигурацию
Code:
                  ((BUSBInterface*)interface)->SetAlternate(alt);


Top
   
PostPosted: Sat Apr 13, 2013 1:18 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Да, я обратил на это внимание. Однако, интерфейс должен подойти любой - 07/01/01, 07/01/02 и 07/01/03 (что явственно указано в конфигурации); endpoints у принтеров 07/01/02 ровно два, один in и один out, при этом мне интересен только out. Ядро при загрузке драйвера, насколько я понял, само выбирает и устанавливает конфигурацию. Поправьте, если я не прав.

Я не понимаю, почему после определенной последовательности действий принтер печатает из Колибри, но без неё - нет. Если понять, почему именно так - печать должна заработать везде.


Top
   
PostPosted: Sat Apr 13, 2013 1:41 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Сейчас сгенерировал PS-документ из Haiku и попробовал распечатать - no success. Возможно, "драйвер" PS шлет какие-то команды инициализации перед печатью - нужно это проверить.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 170 posts ]  Go to page Previous 1 2 3 4 512 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited