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
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
ScanImage01.png (96.96 KiB)
Viewed 8089 times
Лог:
Spoiler:
ML-2015.TXT (6.2 KiB)
Downloaded 360 times

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
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:
BOARDLOG.TXT (7.83 KiB)
Downloaded 327 times
BOARDLOG.TXT (5.68 KiB)
Downloaded 308 times
Результат все тот же, за исключением отсутствия вылета.