LINUX.ORG.RU

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

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

 ,

Попытался запустить 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
()

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

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

Rockatansky
()

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

 , , , ,

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

elrprt
()

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

 , ,

Группа Open Source

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

>>> Подробности (rus-linux.net)

vikos
()

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

 ,

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

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

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

Xenius
()

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

 

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

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

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

pashazz
()

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

 ,

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

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

Yur4eg
()

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

 , ,

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

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

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

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

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

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

zzdnx
()

Изоляция Skype

 , , , ,

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

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

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

soko1
()

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

 , , лютый вин

Нашёл на ютубе 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
()

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

 ,

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

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

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

Quadmonster
()

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

 

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

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

Участники:

Регламент:

  • Количество участников турнира ограничено 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

Вышла новая версия самого распространенного дистрибутива *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 образ, однако могут быть установлены при использовании доступа в интернет.

>>> Подробности (tug.org)

dinn
()

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

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

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

v9lij
()

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

 ,

Привет всем.

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

GreenBag
()

iptables on ICS 4.0.3

 

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

leg0las
()

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

 ,

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

aptyp
()

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

 , barnes and noble, ,

Чрезвычайно качественная и недорогая (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 продаётся ниже себестоимости и компания набирает прибыль на покупке книг, чего в России (по крайней мере без кредитки американского банка) сделать не получится, даже если очень хочется.

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-дизайнером и занимаюсь исключительно графической составляющей проекта, ибо сам верстать не умею. В принципе, этим занимаются у нас определенные люди, но хочется таки и самому уметь - для повышения профессиональных навыков и в перспективе на будущее. Кроме того, сейчас работы много и пара моих проектов висят на стадии верстки - хочется помочь.

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

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

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

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

neocrust
()