LINUX.ORG.RU

Избранные сообщения HerrWeigel

Canon LBP-2900 и другие CAPT-принтеры - ПИШУ ДРАЙВЕР

Форум — Linux-hardware

Попытался запустить LBP-2900 в Ubuntu. Довольно быстро выяснилось, что фирменный драйвер Canon - полный отстой, не поддерживается, и с этим надо что-то делать. Обнаружил также попытки написания энтузиастами аналогичного драйвера, но для 2900 он не работает. В связь с этим начал обратный инжениринг принтера и решил написать СОБСТВЕННЫЙ ДРАЙВЕР.

UPD: ТЕКУЩЕЕ СОСТОЯНИЕ

Исходники доступны на Github: https://github.com/agalakhov/captdriver

Чеклист к первому релизу:
[X] Передача параметров компрессии Hi-SCoA
[X] Компрессия Hi-SCoA
[X] Поддержка LBP-2900 и LBP-3000
[X] Баг «only 10 bytes»
[X] Печать многих страниц
[X] Ожидание наличия бумаги
[ ] Генерация PPD-файлов

Чеклист ко второму релизу:
[ ] Компрессия SCoA
[ ] Поддержка LBP-810 и LBP-1120

(Текст исходного верхнего поста следует)

Ищу единомышленников для Reverse Engineering протокола принтера. На сегодняшний день мне удалось полностью расшифровать протокол нижнего уровня USB и частично - протокол верхнего уровня. Мой драйвер уже может отсылать страницы на печать. ТРЕБУЕТСЯ расшифровать алгоритм сжатия пиксельных данных (он оказался отличным от алгоритма LBP-810 и, по-видимому, является какой-то модификацией ALPC-сжатия). Попытки прикрутить алгоритм от 810 привели к тому, что принтер включается и печатает, но на бумаге получаются только полосы, линии и регулярные узоры из пикселей. У меня пока нет времени на расшифровку, поэтому прошу помощи.

ОПИСАНИЕ ТОГО, ЧТО УДАЛОСЬ РАСШИФРОВАТЬ

Работать с принтером можно с помощью простого open(«/dev/usb/lp0») - libusb не требуется. Общение идет пакетами довольно простого формата. Формат пакета:

байты 1,2 - код команды - 16 бит (младший байт первый)

байты 3,4 - длина посылки (полная) - 16 бит (очевидно, меньше 4 байт не бывает)

байты с 5 - данные (опционально)

Если суммарная длина посылки превышает 4096 байт, посылка делится на части по 4096 байт.

Компьютер посылает принтеру команду. Принтер отвечает пакетом, содержащим код той же команды и минимум 2 байта данных (код возврата), всего не менее 6 байт. Эти 6 байт читают одним read(). Если длина превышает 6 байт, то затем делается read() на оставшуюся длину (она у меня никогда не превышала 4 килобайта, так что про ограничения ничего не знаю). Если не прочитать ответ принтера и продолжить посылать данные, он зависнет, и его придется выключить и включить снова.

Коды команд:

0xA1A1 - начало работы. Параметров нет (4 байта). Принтер отвечает длинной последовательностью байтов - видимо, номером модели, серийным номером, характеристиками и чем-то еще, я не разбирался.

0xA0A0 - какая-то проверка статуса? Встречается на 810, ни разу не видел на 2900. Параметров нет. Принтер отвечает длинной простышей байтов.

0xA0A8 - запрос какого-то статуса. Параметров нет. В коде возврата - явно битовые флаги.

0xA3A2 - что-то включает, меняет флаги в предыдущей команде. Параметров нет. Ответ всегда 0x0000.

0xE0A0 - проверка готовности. Если в ответе поднят бит 0x0008, то буфер принтера полон, надо ждать и не посылать больше данные.

0xA0A1 - проверка кучи вещей, в том числе наличия бумаги. Как оно работает на 2900 - не знаю.

0xA2A0 - загрузка первой магической последовательности. Параметр: магическая последовательность байтов.

0xE1A1 - загрузка второй магической последовательности.

0xE0A3, 0xE0A2, 0xE0A4 - что-то включают. Всегда идут в начале и в такой последовательности. Их отсутствие никак на печать не влияет(?). Возвращают 0, а при попытке вызвать повторно - 0x8800.

0xE0A5 - третья магическая последовательность.

0xD0A9 - загрузка магической последовательности, непосредственно предшествующая загрузке данных печати. Ответа на эту команду не дожидаются (?).

0xC0A0 - Главная Команда. Загружает в принтер сжатое изображение или его часть. Ответа принтера нет.

0xC0A4 - Конец Загрузки. Выдается сразу после 0xC0A0.

0xE0A7 - Включение Печати. Когда принтер подтвердит готовность после загрузки, выдают эту команду, и принтер начинает печатать. Параметр: 16-битное число 0x0001 (видимо, означающее «включить»).

Дополнительная информация - в исходниках драйвера http://www.boichat.ch/nicolas/capt/

Исходники того, что написал на данный момент, могу прислать.

 ,

Yampp
()

Что фундаментального учить новичку-прогеру?

Форум — Development

Что будет полезно почитать после того, как выучил объектно-ориентированный язык и пару технологий? Дискретную математику? Что-нибудь по алгоритмам? Книги по объектно-ориентированному дизайну/анализу? SICP с лиспом? Ваши варианты.

Rockatansky
()

Интересные технические заметки по геймдеву

Форум — Development

Кто-то знает где лучше искать качественный сабж?
Пример - DOOM 3 BFG Technical Note
http://fabiensanglard.net/doom3_documentation/index.php

 , , , ,

elrprt
()

ITK. Перевод главы 9 из книги «Архитектура приложений с открытым исходным кодом», том 2.

Новости — Open Source
Группа Open Source

ITK, the Insight Toolkit является библиотекой для анализа изображений, которая была разработана по инициативе и при практически полной финансовой поддержке Национальной библиотеки медицины США. ITK может рассматриваться в качестве полезной энциклопедии алгоритмов для анализа изображений, в частности алгоритмов обработки изображений с помощью фильтров, сегментации и геометрической коррекции изображений. Библиотека была разработана консорциумом, включающим университеты, коммерческие компании и индивидуальных разработчиков со всего мира. Разработка ITK началась в 1999 году и после недавнего десятилетия код библиотеки был подвергнут рефакторингу, направленному на удаление устаревшего кода и внесение улучшений, позволяющих использовать библиотеку в течение следующих десяти лет. В двух книгах «Архитектура приложений с открытым исходным кодом» авторы широко известных приложений с открытым исходным кодом рассказывают о структуре созданных ими программ и о том, как эти программы создавались. Каковы их основные компоненты? Как они взаимодействуют? И что открыли для себя их создатели в процессе разработки? Это дает вам уникальную возможность проникнуть в то, как они творят.

>>> Подробности

 , ,

vikos
()

Какие есть годные языки с производительностью на уровне C?

Форум — Development

Какие есть языки, в которых производительности и потребление памяти близки к таковым для кода на C (разница не более чем в 2-3 раза, а не в десятки и сотни раз как на всяких питонах), но без извращений с ручным выделением памяти и поддержкой функций как значений переменной, оптимизации хвостовой рекурсии и тд?

Желательна строгая типизация.

И язык должен быть достаточно простой, чтоб его можно было выучить за ограниченное время.

 ,

Xenius
()

poker-heroes.com восстановлен, поиграем?

Форум — Talks

cast kostian, lexxus-lex, dexpl, Igorrr, ArturK, unC0Rr, emissar

Отметьтесь, кто может сегодня в 22-30 MSK

(играем в pokerTH, нужен аккаунт на poker-heroes.com)

 

pashazz
()

посоветуйте книжек по веб разработке

Форум — Talks

В фирму взяли на лето школьника. Стоит задача сделать из него вебдевелопера, ну и чтоб он компании пользу какую нибудь принес. Знает си и немножко питон. По питону я с ним поговорил, знания, конечно начального уровня, но рассуждает верно, интуиция правильно работает.

У нас в фирме постоянного веб девелопера нет, задачи отдаются на аутсосрс, так что обучаться он будет самостоятельно. Посоветуйте книжку по php у нас фреймворк yii и js+css+html. Ну и по mysql.

 ,

Yur4eg
()

Избитая тема халявы и SMS...

Форум — Desktop

Не судите строго, но порой бывает нужно отправить пару-тройку смс вот прямо из консоли, не заморачиваясь на всякие 1) браузеры 2) капчи 3) регистрации и 4) оплаты сервисов, которыми практически не пользуешься... Ну, далее по списку. Всякие 3G-модемы и телефоны по USB вместе с gnokii отпадают, ибо их установка - излишество в полевой ситуации.

По этой причине ищу скрипты для отправки смс из терминала без особых морок (регистрация, оплата и прочее). Принимаются варианты с ограничением по времени, количеству смс в сутри и прочее... Главное чтобы можно было в сутки хотя-бы раз бесплатно смс отправить по России одной простой строкой.

Смотрю на хттп-двтч-слэш-слэш-смс-точка-ру. Там, вроде, можно на халяву, но только через форму на сайте, а вот как без захода на сайт справиться тем-же wget`ом?

Идеальный вариант - smste-точка-ру, но там есть капча(

Питоновые скрипты с транспортом через майлос-ру не пашут, выдавая одну и ту же ошибку или нагружая 8 ядер в 100%.

В общем, если у кого есть идеи - прошу делиться!

 , ,

zzdnx
()

Изоляция Skype

Форум — Security

Не хочу повторяться, тут всё написано. Мне показался самым простым и быстрым способом создание отдельного пользователя для этой говнопрограммы во избежание проникновения в мою систему плохих дядь и тёть. Чего и вам желаю, если у вас всё ещё не дошли до этого руки.

Может быть ещё какие нибудь советы знаете? Я залез под пользователем skype и проверил, вроде никакие носители ему не доступны и всякие /etc/shadow разумеется тоже.

ЗЫ этот топик относится к тем, кому по той, или иной причине приходится пользоваться сей дырой в безопасности, у кого таких причин нет могут данную тему проигнорировать.

 , , , ,

soko1
()

Enlightnment. Убийца КЕД и других DE

Форум — Desktop

Нашёл на ютубе 2 видео:
http://www.youtube.com/watch?v=8tILWKo1RUI
http://www.youtube.com/watch?v=82_uNoeVkQE
демонстрирующих всю мощь Enlightnment.

Слова не нужны, просто посмотрите видео.

Во втором видео мне понравился дизайн кнопки 'close' у главного окна настройщика. Вообще очень классно, что кнопки по-центру.
Лаунчер силён.
Шикарный FM.
Поразили возможности терминала.

Дисскас.

Кстати там на некоторых панелях нету трёх кружочков сбоков.

Приветствуются ещё хорошие видео с E17.

Кто-нибудь знает, как разработчики E реагируют на репортинг багов и пожеланий? Быстро и адекватно, или так же как разработчики KDE?


______
UPD:
Вот ещё несколько видео

http://www.youtube.com/watch?v=gWpQS-4k1E0
http://www.youtube.com/watch?v=EoYKvjNj8OM
http://www.youtube.com/watch?v=HGPoSx3o17s
http://www.youtube.com/watch?v=zCCLKok6d_s

на последнем видео очень интересный шрифт. кто-нибудь знает, что это за шрифт?

 , , лютый вин

teod0r
()

Прокачать математические способности

Форум — Talks

Кастую математиков и физиков в этот тред.

В свое время (еще в школе) математику я знал с натяжкой на тройку. Скорее всего виной этому были отвратительные учителя с самого начала обучения, да и что тут говорить - направленность школы была иной: я учил испанский, английский и французский языки. Математика естественно задвигалась подальше. Но чувствую явную потребность развить математические способности и ищу годного совета как это сделать и с чего начать.

Уверен, что это можно сделать, но надо понять как подступиться к задаче. И да, не надо устраивать наброс г-на на вентилятор, толку в этом мало. Всем, кто хоть что-то дельное посоветует: два чая и огромное спасибо.

 ,

Quadmonster
()

LORChess: «Великолепная дюжина» [ЗАВЕРШЕН]

Форум — Talks

Официальные ЛОРовские турниры по шахматам: Первый (прерванный) | «Великолепная дюжина», первый сезон

ЛОР-овский шахматный турнир: спринт-система.

Участники:

Регламент:

  • Количество участников турнира ограничено 12. Расширение не планируется.
  • Турнир проходит по следующей системе:
    • Количество туров не определено заранее и составляет минимум 11. Каждый тур длится одну неделю. Расписание тура вывешивается каждый понедельник на основании сгенерированного расписания. Расписание не учитывает актуальных игроков, и строится на основе номеров участников.
    • Турнир длится до тех пор, пока кто-либо из участников не сыграет 11 туров подряд. Победитель определяется по очкам (и системе Бергера в случае, если количество очков равное у нескольких игроков). Возможна ситуация, когда игрок, сыгравший меньшее количество партий, обыгрывает игрока, сыгравшего 11 туров — по очкам. Только результат в 22 очка за 11 туров гарантирует победу.
    • В случае, если за 12 туров не определяется победитель, турнир продолжается по такому же расписанию (12-тый тур играется по расписанию 1-го, помним про то, что в расписании фигурируют номера, а не никнеймы участников).
    • Тур состоит из двух партий. Начинать можно с любых фигур, по договорённости с оппонентом. Максимальное количество очков за тур — 2, максимальное количество очков, гарантирующее победу в турнире — 16. Турнир играется на площадке http://lichess.org. 20 минут на партию, часы Фишера, +5 секунд на ход. После игры ссылки на партии скидываются в эту тему.
    • Участник, не сыгравший партию тура, при этом в течение недели тура не писавший ничего в данном топике, не объяснивший ничего своему оппоненту и/или участникам турнира, исключается из турнира сразу же, а победа в туре присуждается его оппоненту (2 очка).
    • Если участник покидает турнир, а затем возвращается в него, его счёт восстанавливается. По окончанию турнира покинувшие турнир участники также будут представлены в таблице результатов со своим результатом.
    • Участник может заявить о невозможности сыграть в одном или нескольких турах по какой-либо причине. По договорённости устанавливается время «отпуска» участника. По возвращению участник обязан отыграть все партии, накопившиеся за время «отпуска» не позднее, чем в течение двух следующих за возвращением туров. Если до окончания турнира, предположительно, менее трёх туров (какой-либо из участников сыграл 5 или более туров подряд) — «отпуск» не может быть предоставлен, и участнику может быть предложено сыграть лишь в случае, если за время его отсутствия турнир не завершился.
    • Участник, забаненный за нарушения правил, с разрешения всех участников турнира, может продолжать играть.
    • Любой участник имеет право досрочно покинуть турнир. Место объявляется вакантным, и до тех пор, покуда оно не найдёт своего владельца, те, кому надо было играть с этим игроком, получают 2 очка автоматически.
    • Ответственные за правильное заполнение турнирной таблицы: DoctorSinus, aptyp, Michkova. В случае, если вы считаете, что таблица заполнена неправильно, обращайтесь к ответственным лицам через Jabber или в этом топике.
  • Кандидаты
    • Институт кандидатов упразднён. Приём новых участников в турнир согласовывается индивидуально. Количество участников всегда равно 12.

Приветствуется свободная игра между участниками и всеми заинтересованными шахматистами.

Фиксы, патчи и прочее приветствуются.

Турнирная таблицаhttps://docs.google.com/spreadsheet/pub?key=0AkIvAtvjBC_ZdHUwNGExWWZOOGRwakN5...

Строки и столбцы — игроки, в пересечении — результат (классическая таблица шахматных турниров, благодарности уходят Michkova).

Официальный Git-репозиторий (https://github.com/fat0troll/lorchess) содержит, помимо таблицы результатов и расписания, все партии в формате PGN с автоматическим анализом партий от lichess.

 

DoctorSinus
()

TeX Live 2013

Новости — Open Source
Группа Open Source

Вышла новая версия самого распространенного дистрибутива *TeX для Linux - TeX Live 2013.

Изменения в новой версии:

  • Изменение в поставке: директория texmf/ была объединена с texmf-dist/ для упрощения. Переменные окружения TEXMFMAIN и TEXMFDIST теперь указывают на texmf-dist/.
  • Многие небольшие коллекции поддержки языков были объединены для упрощения.
  • В MetaPost добавлены поддержка вывода в формате PNG и введена возможность использования чисел с плавающей точкой.
  • LuaTEХ обновлён до Lua 5.2 и содержит новую библиотеку (pdfscanner) для работы с внешними компонентами PDF документов.
  • XeTEX:
    • Для компоновки шрифтов вместо ICU теперь используется библиотека HarfBuzz.
    • SilGraphite заменён на Graphite2 и HarfBuzz.
    • При совпадении имён, шрифты в формате TrueType/OpenType имеют более высокий приоритет, чем Type1.
    • Поддержка математических врезок OpenType.
  • xdvi переведён на использование FreeType вместо t1lib.
  • В microtype.sty добавлена частичная поддержка XeTEX и LuaTEX.
  • В tlmgr добавлена операция pinning для упрощения настройки нескольких репозиториев.
  • Добавлена или восстановлена поддержка платформ armhf-linux, mips-irix, i386-netbsd, и amd64-netbsd; поддержка powerpc-aix прекращена. Для экономии места некоторые компоненты для малораспространённых платформ не включены в DVD образ, однако могут быть установлены при использовании доступа в интернет.

>>> Подробности

 , ,

dinn
()

Профит от минипивоварни?

Форум — Talks

Пробежался по интернет-магазинам, как-то дешево подозрительно стоят, в районе 10к. Есть у кого опыт использования? На что обратить внимание при покупке? Да и вообще как оно на выходе то? Стоит ли заморачиваться?

 гурманы, минипивоварня,

v9lij
()

Шахматы — посоветуйте литературу.

Форум — Talks

Привет всем.

А чтобы такого почитать о шахматах. Т.е. как ходить и какие фигуры мы все знаем, но вот о правильных (хотя-бы) дебютах, миттель- и уже не говорю об эндшпилях не все знают. Что-нибудь не слишком занудное, для новичков, но интересное. Есть ли такое? Может видео какое есть?

 ,

GreenBag
()

iptables on ICS 4.0.3

Форум — Mobile

Subj. на телефоне имеется, проверял. Хочу залочить инет для приложений, которым инет нахрен не нужен, подскажите как, а еще лучше - ссылку на ман (как это конкретено делается под ведроидом)

 

leg0las
()

Литература по ФП и годные языки

Форум — Development

Расширяю кругозор и к тому же на практике фп понадобится, и интересно почитать теоретические основы фп, причём хочется для практики чистый язык. Есть ли альтернатива хаскеллу?

 ,

aptyp
()

Nook Touch тоже видит LOR

Галерея — Рабочие места

Чрезвычайно качественная и недорогая (100$) e-ink читалка от Barnes & Noble к сожалению совершенно бесполезна на территории России (магазин Barnes & Nobles здесь не работает) если её не перепрошить. После перепрошивки получается фактически полноценный Android-планшет с возможность установки приложений с Android Markert.

P.S. Разбираясь что и как, я волей-неволей вспомнил времена, когда компилял ядро Linux или скорее как наблюдал процесс переноса ОС VAX/VMS с VAX Station на MicroVAX.

P.P.S. Чуть не забыл: если хотите поддержать Barnes & Noble (например в борьбе с патентным беспределом со стороны Microsoft), то не покупайте их читалки. Nook Touch продаётся ниже себестоимости и компания набирает прибыль на покупке книг, чего в России (по крайней мере без кредитки американского банка) сделать не получится, даже если очень хочется.

 , barnes and noble, ,

Evgueni
()

Моя «берлога»

Галерея — Рабочие места

Тут фотки(неособого качества) и Скрины все разные:

1
2
3
4
5
6
7
8


Собсно сабж. Если описывать все фото, то хватит на небольшой томик.Так что пока только поверхносно:
Скрины - Фряха-10-CURRENT, Фляки( fluxbox), Emacs 23 как IDE, иногда расслабиться в WOT или DF, rdesktop на нетбук для Android dev.


Обстановка - Сам десктоп, ipad 1, нетбук Samsung n143, Ainol Paladin( QAndroid 4.0.3), Behringer iAxe, паялка Lukey702 , и еще много-много чего....


П.С. Некоторые фотки являются неплохим концепт артом для ХОГов)))
П.С.С. На десктопе Ш не Г , по крайней мере на моем мониторе.
П.С.С.С. Извиняюсь за качество фоток, так как фоткалось на трубу)
П.С.С.С.С. + про Иконки в Трее невписывающиеся в тему - знаю

Боготворит/пинайте))

aleter
()

Научиться верстать

Форум — Web-development

Всем здрасте =]

Дело вот в чем. Работаю Web-дизайнером и занимаюсь исключительно графической составляющей проекта, ибо сам верстать не умею. В принципе, этим занимаются у нас определенные люди, но хочется таки и самому уметь - для повышения профессиональных навыков и в перспективе на будущее. Кроме того, сейчас работы много и пара моих проектов висят на стадии верстки - хочется помочь.

Посоветуйте годных книг/мануалов (очень желательно рассчитанных на ускоренный курс обучения) с актуальным и свежим материалом.

З.Ы.: Линукс тут при том, что верстать буду под линуксом =]

З.Ы.Ы: tazhate, спасибо, забыл про существование этого раздела =[

Перемещено tazhate из development

 ,

neocrust
()