Page 7 of 12

Re: USB-принтеры для USB-ядра

Posted: Thu Apr 18, 2013 10:14 pm
by SoUrcerer
Mario, такое бывает временами :) Вот тебе как раз может помочь сначала пробная печать из Windows, а потом печать из Колибри. Да и мне тоже.

Кто-нибудь с Linux под рукой, превратите пожалуйста какой-нибудь PostScript в QPDL при помощи foo2qpdl, и вкомпилируйте в последнюю версию драйвера вместо pcl-файла. К сожалению, пока что не могу сделать это сам - не в ближайшие несколько дней.

Re: USB-принтеры для USB-ядра

Posted: Thu Apr 18, 2013 10:42 pm
by Mario_r4
SoUrcerer
Еще раз попробовал для сравнения прошитый/не прошитый принтер.
Spoiler:
BOARDLOG.TXT (23.08 KiB)
Downloaded 233 times
Информация к размышлению:
1) Две попытки печати, сразу после прошитого печатью W7, вылились в мгновенное появление:

Code: Select all

K : Printer ID is MFG:Hewlett-Packard;MDL:HP LaserJet 1020;CMD:ACL;CLS:PRINTER;DES:HP LaserJet 1020;FWVER:20051028;
K : print finished
без всякого моргания светодиодами.

2) После выкл/вкл принтер и коммутации, появилось:

Code: Select all

K : return something after USB Normal Transfer...
далее было продолжительный обмен информацией, с миганием лампочки (оранжевая) и вывод:

Code: Select all

K : print finished
В общем:
Spoiler:
sc_scv.jpg
sc_scv.jpg (151.41 KiB)
Viewed 5623 times

Re: USB-принтеры для USB-ядра

Posted: Thu Apr 18, 2013 10:50 pm
by SoUrcerer
Возможно, хитрый драйвер после печати делает reset принтера. Буду дома (в воскресенье-понедельник), скачаю нужную прошивку, и подготовлю драйвер, который сначала ее заливает,а затем печатает.
Кстати, можешь попробовать сделать снифф через Wireshark?

Re: USB-принтеры для USB-ядра

Posted: Thu Apr 18, 2013 11:04 pm
by Mario_r4
Еще раз:
Mario_r4 wrote:
SoUrcerer wrote:сделайте снифф печати тестовой страницы (скажем, белого листа с надписью Test) из Windows или Linux.
В Windows поможет http://www.wingmanteam.com/usbsnoopy/ или Wireshark+usbpcap
В Linux - Wireshark + usbmon
W7, скачал по ссылке, запустил, есть только "USB Printing Support" и другого печатного в списке нет, но есть много Unknown Device. Присоединился к
"USB Printing Support", дальше не понял чего делать - никаких запросов не выдает и если куда и пишется чего, то я не знаю куда.

Re: USB-принтеры для USB-ядра

Posted: Fri Apr 19, 2013 7:25 am
by Albom
Снифф Canon ip1700.
Система XP, приложение notepad++ (новый документ со словом test - на листе дополнительно колонтитулы, верхний с именем файла и датой и нижний с номером страницы).

Re: USB-принтеры для USB-ядра

Posted: Fri Apr 19, 2013 7:27 am
by Albom
Mario_r4
Я тоже не разобрался в программах, которые здесь предлагались. Но нашёл удобную штуку - USBPcap.

Re: USB-принтеры для USB-ядра

Posted: Fri Apr 19, 2013 7:30 am
by Mario_r4
Albom wrote:Mario_r4
Я тоже не разобрался в программах, которые здесь предлагались. Но нашёл удобную штуку - USBPcap.
Спасибо, попробую.

Re: USB-принтеры для USB-ядра

Posted: Sat Apr 20, 2013 9:12 pm
by srx
протестировал свом canon 4200, результат тот же, что и с пробросом в виртаулку, лог скопировать забыл, но вот кое-что оттуда мне запомнилось
во-первых:
got 4 byte as id
и следующей строкой пустой ид. это нормально?
и во-вторых. поэксперементировал ещё с разными юсби устройствами, и планшет, подключённый как камеру драйвер, похоже, пытался проинициализировать, и даже start printing написал, при том что устройство то 06/01/01 (точно не уверен, но первое точно шестёрка, никак не семёрка)

Re: USB-принтеры для USB-ядра

Posted: Sat Apr 20, 2013 9:40 pm
by SoUrcerer
Абсолютно нормальное поведение. когда-нибудь ядро будет загружать uabprint для принтеров, а пока usbother загружается для всего, и класс не проверяется .

Re: USB-принтеры для USB-ядра

Posted: Sat Apr 20, 2013 11:29 pm
by hidnplayr
Tried the girlfriends printer today (through Virtualbox)

Altough the printer reported to support PCL and driver said 'print finished', nothing happened.

Code: Select all

port after reset [1896] status of port 0 is 00000103
address set in device
address set for controller
device descriptor: 12 01 10 01 00 00 00 40 F0 03 11 93 00 01 01 02 03 01
found USB device with ID 03F0:9311, 1 configuration(s)
config descriptor: 09 02 55 00 03 01 00 C0 01 09 04 00 00 03 FF CC 00 00 07 05 01 02 00 02 00 07 05 82 02 00 ... (truncated)
USB interface class/subclass/protocol = FF/CC/00
07/xx/xx attached
unknown device
USB device initialization failed
USB interface class/subclass/protocol = 07/01/02
07/xx/xx attached
USB printer is ready to work
USB printer attached
alloc memory
look for OUT endpoint
next descriptor
all data in descriptor?
check if OUT
load params from descriptor
open pipe!
pipe is opened
start printing
return something after USB Normal Transfer...
USB interface class/subclass/protocol = FF/04/01
07/xx/xx attached
unknown device
USB device initialization failed
Got 0 bytes ad ID
Printer ID is MFG:HP;Deskjet 3050 J610;CMD:MLC,PCL,DW-PCL,PML,802.11,DESKJET,DYN,1284.4DL:4d,4e,1;CLS:PRINTER;DES:CH376B;CID:HPIJVIPAV1;LEDMDIS:USB#FF#CC#00,USB#07#01#02,USB#FF#04#01;SN:CN159390YG05HX;S:038000C484001021002c1f00050c288005a;J:
Got 0 bytes ad ID
Printer ID is MFG:HP;Deskjet 3050 J610;CMD:MLC,PCL,DW-PCL,PML,802.11,DESKJET,DYN,1284.4DL:4d,4e,1;CLS:PRINTER;DES:CH376B;CID:HPIJVIPAV1;LEDMDIS:USB#FF#CC#00,USB#07#01#02,USB#FF#04#01;SN:CN159390YG05HX;S:038000C484001021002c1f00050c288005a;J:
Got 0 bytes ad ID
Printer ID is MFG:HP;Deskjet 3050 J610;CMD:MLC,PCL,DW-PCL,PML,802.11,DESKJET,DYN,1284.4DL:4d,4e,1;CLS:PRINTER;DES:CH376B;CID:HPIJVIPAV1;LEDMDIS:USB#FF#CC#00,USB#07#01#02,USB#FF#04#01;SN:CN159390YG05HX;S:038000C484001021002c1f00050c288005a;J:
print finished

Re: USB-принтеры для USB-ядра

Posted: Sun Apr 21, 2013 11:18 am
by SoUrcerer
This printer may support PCL3, PCL4 or PCL XL as its printer control language. I hope I'll prepare all versions in a few days or so. Thank you for testing!

Re: USB-принтеры для USB-ядра

Posted: Sun Apr 21, 2013 7:55 pm
by Mario_r4
SoUrcerer wrote:Кстати, можешь попробовать сделать снифф через Wireshark?
По совету Albom'а делал исключительно самой USBPcap по инструкции http://desowin.org/usbpcap/tour.html, a Wireshark успешно открывает получившийся файл.
Spoiler:
usb.7z (61.26 KiB)
Downloaded 226 times

Re: USB-принтеры для USB-ядра

Posted: Mon Apr 22, 2013 6:55 pm
by SoUrcerer
Странно, но у меня Wireshark файл не открывает. Однако, видно что на принтер отправляется файл прошивки. Вот этот ( http://sargatka.ru/files/_sihp1020.img - это официальный ром прошивки, а без расширения - собственно то, что нужно слать на принтер, с ACL-заголовком).
Если у тебя есть время, можешь поправить код драйвера следующим образом:
Для своего принтера в процедуре PrintTestPage отправляешь "на печать" файл sihp1020, а в качестве call-back функции устанавливаешь полную копию этой же функции, печатающей реальный PCL5-документ (например http://www.pcltools.com/data/wp51port.pcl ). Если у тебя времени или желания нет, я могу сделать это - но чуть попозже.
Обращаю внимание, что использование такого драйвера вероятно может навредить принтерам, отличным от HP1020!

Re: USB-принтеры для USB-ядра

Posted: Mon Apr 22, 2013 7:05 pm
by hidnplayr
SoUrcerer wrote:Странно, но у меня Wireshark файл не открывает.
You need one of the 'daily builds' (eg latest bleeding edge version) to open USB captured files...

Re: USB-принтеры для USB-ядра

Posted: Mon Apr 22, 2013 7:07 pm
by SoUrcerer
I have no problems to capture USB and open my USB captured files in my Wireshark version. I built it few weeks ago. May be this problem is realted to data format: I use libpcap, while Mario uses usbpcap - it doesn't matter, I can see all I need in hex editor :)