Page 8 of 12
Re: USB-принтеры для USB-ядра
Posted: Mon Apr 22, 2013 7:15 pm
by CleverMouse
SoUrcerer wrote:отправляешь "на печать" файл sihp1020, а в качестве call-back функции устанавливаешь полную копию этой же функции, печатающей реальный PCL5-документ (например
http://www.pcltools.com/data/wp51port.pcl )
Не нужно таких ухищрений. Можно поставить в очередь два задания сразу
Code: Select all
stdcall USBNormalTransferAsync, [ebx+device_data.pipe], data1, data1_sz, .finish_print, 0, 0
stdcall USBNormalTransferAsync, [ebx+device_data.pipe], data2, data2_sz, .finish_print, 0, 0
Re: USB-принтеры для USB-ядра
Posted: Mon Apr 22, 2013 7:52 pm
by SoUrcerer
До окончания первой передачи вторая не начнется? Вообще супер! Спасибо, CleverMouse!
Mario, сейчас подготовлю версию для тебя
Re: USB-принтеры для USB-ядра
Posted: Mon Apr 22, 2013 8:00 pm
by CleverMouse
Не начнётся. Более того, для bulk и interrupt если первая передача окончится неудачей, то вторая вообще не начнётся.
Re: USB-принтеры для USB-ядра
Posted: Mon Apr 22, 2013 8:01 pm
by SoUrcerer
Mario, тестируй. Драйвер принтера с firmware для HP1020. Должно помочь.
ВНИМАНИЕ:
Данный драйвер предназначен для принтера HP1020, он НЕ подойдет для других моделей принтера, в том числе с "похожими" названиями (например, HP1200 или HP1010). Использование данного драйвера с другими моделями принтера может привести к НЕРАБОТОСПОСОБНОСТИ данного принтера. К сожалению, я не могу дать никаких гарантий и владельцам принтеров HP1020 - но, по крайней мере, данный firmware используется в Linux, так что, в теории, проблем быть не должно.
ВНИМАНИЕ:
Данный драйвер требует НОВОЕ usb-ядро, с поддержкой драйвера usbprint. Данный драйвер должен иметь название usbprint.obj, а не usbother.obj.
Re: USB-принтеры для USB-ядра
Posted: Mon Apr 22, 2013 8:13 pm
by SoUrcerer
Обновленные драйверы принтера, для нового usb-ядра с поддержкой драйвера usbprint.obj. Теперь драйвер должен иметь имя usbprint.obj
Подготовлена тестовая страница для принтеров Samsung, поддерживающих язык QPDL. Подготовлена тестовая страница для принтеров, поддерживающих PCL4.
New drivers, for recent usb-kernel with usbprint.obj driver support. Now driver should be named usbprint.obj.
Samsung printers with QPDL should be supported now. PCL4-compatible printers should be supported now (hidnplayr, DeskJet may work with these).
Re: USB-принтеры для USB-ядра
Posted: Mon Apr 22, 2013 9:23 pm
by SoUrcerer
Another QPDL driver, and PostScript 1 for old/not so good printers.
Re: USB-принтеры для USB-ядра
Posted: Mon Apr 22, 2013 10:24 pm
by SoUrcerer
Samsung поставляет бинарные пакеты конвертора, без исходников. Очень жаль. Но хотя бы попробуем QPDL/SPL.
Re: USB-принтеры для USB-ядра
Posted: Mon Apr 22, 2013 10:56 pm
by Mario_r4
SoUrcerer wrote:Mario, тестируй. Драйвер принтера с firmware для HP1020. Должно помочь.
Бдыщь
Spoiler:
-
1.jpg (134.84 KiB)
Viewed 8125 times
З.Ы. С принтером тем не менее шел какой-то обмен, т.к. светодиод "изображал" заглатывание данных порциями, но печати соответственно никакой.
Re: USB-принтеры для USB-ядра
Posted: Tue Apr 23, 2013 9:01 am
by Albom
Samsung ML-2015. Драйвер из
viewtopic.php?f=30&t=2285&start=105#p48321.
Напечатало следующее:
Spoiler:
-
ScanImage01.png (96.96 KiB)
Viewed 8089 times
Лог:
Spoiler:
Re: USB-принтеры для USB-ядра
Posted: Tue Apr 23, 2013 9:15 am
by Albom
ML-2015. Драйвер из
viewtopic.php?f=30&t=2285&start=105#p48322.
Напечатало точно так же, как и в предыдущем случае.
При отключении принтера проблема...
Spoiler:
-
IMG_0902.jpg (149.75 KiB)
Viewed 8089 times
Re: USB-принтеры для USB-ядра
Posted: Tue Apr 23, 2013 12:08 pm
by SoUrcerer
Да, понятно. QPDL отправляет данные так: пакет в 512 байт (или около), затем пакет в 64 байта (или около), затем снова в 512, затем снова в 64, причем пакеты по 64 байта содержат в себе не то номер пакета, не то время отправки -постоянно увеличиваются, часто ровно на 2^n. Нужно будет учесть это.
Re: USB-принтеры для USB-ядра
Posted: Tue Apr 23, 2013 12:16 pm
by SoUrcerer
Mario_r4 wrote:SoUrcerer wrote:Mario, тестируй. Драйвер принтера с firmware для HP1020. Должно помочь.
Бдыщь
З.Ы. С принтером тем не менее шел какой-то обмен, т.к. светодиод "изображал" заглатывание данных порциями, но печати соответственно никакой.
Странно, очень странно. Не знаю, в чем причина падения потока USB. Возможно, CleverMouse может дать какие-то комментарии по этому поводу.
Судя по твоему логу, прошивка на принтер так и не загрузилась, данные тоже отправлены не были.
Загружаю исходник на всякий случай.
У Albom'а передача завершилась, причины падения тоже не очень ясны. Можно попробовать выводить инфу о статусе печати - но не уверен, что это даст много.
Re: USB-принтеры для USB-ядра
Posted: Tue Apr 23, 2013 12:56 pm
by CleverMouse
Эм... SoUrcerer, ты же в курсе, что значение функции возвращается в регистре eax?
Re: USB-принтеры для USB-ядра
Posted: Tue Apr 23, 2013 5:49 pm
by SoUrcerer
Хороший наводящий вопрос. Да, в курсе. Понял - сам дурак, eax затерлось при вызове.
Mario, попробуй, пожалуйста, снова. Должно стать получше
Re: USB-принтеры для USB-ядра
Posted: Tue Apr 23, 2013 6:19 pm
by Mario_r4
SoUrcerer wrote:Mario, попробуй, пожалуйста, снова. Должно стать получше
На всякий случай проверил на ноутбуке и нетбуке:
Spoiler:
Результат все тот же, за исключением отсутствия вылета.