Читаем и пишем вейвформы (waveforms)
Goto page 1, 2, 3, 4, 5  Next
 
Libroom Forum IndexАрхив форумов устройствExplay
AuthorMessage

Eltaron
Заслуженный участник форума

Заслуженный участник форума



Joined: 13 Jan 2009
Posts: 280


Location: Екатеринбург

Posted: 25.06.2010 13:09    

Внимание! Все написанное ниже тестировалось только с контроллером дисплея Apollo PVI-6001! Как поведет себя с контроллером Epson - неизвестно.
В любом случае автор не несет никакой отвественности ни за что Smile Но старался всё сделать наиболее безопасным для применения.

Что такое вейвформы?

Вейвформ (waveform, WF) - это последовательность изменений напряжения, которую нужно подать на экран, чтобы стереть или вывести на него изображение.
Технология производства eink-дисплеев еще настолько сыра, что параметры полученных экранов очень разнятся между собой. Чтобы заставить изображение на них выглядеть более-менее одинаково, производитель к каждой партии дисплеев прилагает уникальный набор вейвформ.

Где хранятся вейвформы?

В отдельной микросхеме памяти (обычно NOR flash), подключенной напрямую к контроллеру дисплея. Обычный размер вейвформ - 64 килобайта ровно.

Для чего нужно менять WF?

Первый случай, когда WF нужно менять практически в обязательном порядке - это смена дисплея. Особенно если менялся старый ED060SC1 на новые ED060SC3/4.
Еще можно поиграться со сменой вейвформ тогда, когда изображение на дисплее имеет явные артефакты при перелистывании.
Некоторые наборы вейвформ можно найти в этой теме

Как читать/писать WF

В рамках проекта eb600utils я написал утилиты для работы с WF. Скачать их можно по ссылке - http://ifolder.ru/18302327
Запуск выполняется прямо на книжке. Два варианта:

Вариант простой - используя средства для запуска скриптов, которые предоставляет книжка (см. раздел ниже)

Вариант сложный - через подключенный дата-кабель. Подробности его подключения - в теме по дебрикингу. Нужно получить доступ к linux-консоли и прямо там выполнить нужные команды. Учтите, что модуль экрана - einkfb.ko - должен быть загружен.

Чтение WF

Для чтения используется команда wfdump
синтаксис -
Code:
wfdump -s address -l length /dev/fb0 waveform.bin

где address - адрес первого байта читаемого блока, length - его длина (оба параметра могут быть как в десятичном, так и в 16ричном виде), /dev/fb0 - имя устройства экрана, waveform.bin - файл, в который будут записанны считанные данные.
По умолчанию address = 0x0000, length = 0x10000, то есть читаются первые 64кб флэш-памяти - как раз то место, где вейвформы и хранятся.

Запись WF

Во-первых, сто раз подумайте, прежде чем что-то записывать. Обязательно сделайте бэкап старых вейвформ.
Для записи используется команда wfwrite с синтаксисом
Code:
wfwrite -s address /dev/fb0 waveform.bin

где address - адрес в памяти, по которому нужно писать WF, /dev/fb0 - устройство экрана, waveform.bin - файл с данными WF.
Файл пишется весь полностью начиная с указанного адреса

Примеры использования

Читаем вейвформу
Code:
wfdump -s 0 -l 0x10000 /dev/fb0 waveform.bin

Для PocketBook - читаем серийник
Code:
wfdump -s 0x1F0000 -l 800 /dev/fb0 sn.bin

Пишем вейвформу
Code:
wfwrite -s 0x0000 /dev/fb0 waveform.bin
,
где waveform.bin - файл длиной 64 килобайта

Где взять исходный код программ?

На странице проекта eb600utils на SourceForge

А если у меня контроллер Epson?

Действуйте на свой страх и риск. Судя по коду ядра, Epson работает через эмуляцию PVI, и все должно работать, но черт его знает. Лучше попробуйте взять norread и norwrite из небезызвестного FB-TO-PB.EXE (ссылку не даю, разумеется Smile )
UPD: на Epson работать не будет, более того, книжка умрет. Подробней

Приложение A - запуск программ "простым" методом

Простой метод, т.е. без припаивания терминального кабеля. Способ работает на Explay, Orsio и некоторых других устройствах. Не работает на PocketBook (кто знает, как запустить на PB скрипт с правами root - пишите).

Чтение вейвформ - качаем архив и распаковываем прямо в корень SD-карты (точно так же, как при обновлении прошивки). Включаем устройство, ждем окончания загрузки, выключаем. В корне карты появился файл waveform_backup.bin - это и есть наши WF.
После этого файлы update_kernel и wfdump желательно удалить с SD-карты, иначе чтение вейвформ будет выполняться при каждом включении книжки.

Заключение

to be continued... (в т.ч. готовые скрипты для запуска без терминального кабеля)
Просьба тем, кому вышенаписанное интересно, отписаться о результатах тестирования и выложить дампы своих вейвформ.[/url]
_________________
Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0


Last edited by Eltaron on 21.07.2010 18:53; edited 4 times in total
 
View user's profile ^

Eltaron
Заслуженный участник форума

Заслуженный участник форума



Joined: 13 Jan 2009
Posts: 280


Location: Екатеринбург

Posted: 26.06.2010 21:09    

Ну раз никто пока не рискнул, вот вейвформы от покетбука, вытащенные из их прошивок - http://dl.dropbox.com/u/4166599/waveforms.zip
там и для старых, и для новых экранов
_________________
Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0
 
View user's profile ^

Antuan
Член клуба The eBook

Член клуба The eBook



Joined: 30 Sep 2009
Posts: 11643


Location: Киев

Posted: 26.06.2010 21:24    

Eltaron
Я рискнул, но у меня EB500, потому ни чего не получилось, одни нули записались.
Попробовал также nordump, что-то сохранилось. Сравнил с теми, что Вы выложили, совершенно не то.
_________________
PB 360° (v.15.3) | PB Pro 602 Grey (v.2.2.1a fastdrv) | PB A7 (v.1.3.1583) - подарок от PocketBook.
 
View user's profile ^

Eltaron
Заслуженный участник форума

Заслуженный участник форума



Joined: 13 Jan 2009
Posts: 280


Location: Екатеринбург

Posted: 26.06.2010 21:39    

Antuan wrote:
Eltaron
Я рискнул, но у меня EB500, потому ни чего не получилось, одни нули записались.
Попробовал также nordump, что-то сохранилось. Сравнил с теми, что Вы выложили, совершенно не то.

а как, консольный кабель припаян?
wfdump при работе никаких ошибок не выводила?
_________________
Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0
 
View user's profile ^

Antuan
Член клуба The eBook

Член клуба The eBook



Joined: 30 Sep 2009
Posts: 11643


Location: Киев

Posted: 26.06.2010 22:11    

Eltaron wrote:
а как, консольный кабель припаян?

Без кабеля, я использовал программу poterm.app, это виртуальный терминал для покетов.
Eltaron wrote:
wfdump при работе никаких ошибок не выводила?

Нет, отработал без ошибок и бодро сообщил, что данные сохранены, но открыв файл увидел одни нули.
_________________
PB 360° (v.15.3) | PB Pro 602 Grey (v.2.2.1a fastdrv) | PB A7 (v.1.3.1583) - подарок от PocketBook.
 
View user's profile ^

Eltaron
Заслуженный участник форума

Заслуженный участник форума



Joined: 13 Jan 2009
Posts: 280


Location: Екатеринбург

Posted: 26.06.2010 22:30    

Antuan wrote:
Без кабеля, я использовал программу poterm.app, это виртуальный терминал для покетов.

Все *.app работают не от рута, а с правами пользователя "reader". А у него нету прав на такой доступ к устройствам.
Полдня сегодня думал, как это обойти... Так и не придумал
_________________
Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0
 
View user's profile ^

Mollari
Активный участник форума

Активный участник форума



Joined: 15 Nov 2009
Posts: 197



Posted: 26.06.2010 22:43    

Eltaron
А ежели пароль забрутфорсить рутовый? Или старый трюк с init=/bin/sh в загрузчике?
 
View user's profile ^

Antuan
Член клуба The eBook

Член клуба The eBook



Joined: 30 Sep 2009
Posts: 11643


Location: Киев

Posted: 26.06.2010 22:45    

Eltaron wrote:
Все *.app работают не от рута, а с правами пользователя "reader"

nordump что-то сохранил, но это явно не вейвформы, больше похоже не кусок программного кода, часто встречается
Code:
Linux
pocketbook
2.6.18.2
#750 Thu May 6 11:35:57 EEST 2010
armv4tl

_________________
PB 360° (v.15.3) | PB Pro 602 Grey (v.2.2.1a fastdrv) | PB A7 (v.1.3.1583) - подарок от PocketBook.
 
View user's profile ^

Eltaron
Заслуженный участник форума

Заслуженный участник форума



Joined: 13 Jan 2009
Posts: 280


Location: Екатеринбург

Posted: 26.06.2010 23:08    

Mollari wrote:
Eltaron
А ежели пароль забрутфорсить рутовый? Или старый трюк с init=/bin/sh в загрузчике?

а тама нету пароля ни у одного юзверя
init= конечно сработает, но чтоб до uboot'а добраться потребуется хирургическое вмешательство Smile

Я когда увидел, что у покетбука прошивка подписывается RSA-ключом, а софт работает не из-под рута, долго удивлялся, зачем так наворочено. Счас, блин, понял Smile

Antuan wrote:
nordump что-то сохранил, но это явно не вейвформы, больше похоже не кусок программного кода, часто встречается
Code:
Linux
pocketbook
2.6.18.2
#750 Thu May 6 11:35:57 EEST 2010
armv4tl

ага, у меня он точно так же работает
просто мусор из системной области какой-то
_________________
Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0
 
View user's profile ^

Antuan
Член клуба The eBook

Член клуба The eBook



Joined: 30 Sep 2009
Posts: 11643


Location: Киев

Posted: 27.06.2010 01:08    

Eltaron wrote:
просто мусор из системной области какой-то

Или кусок загрузчика uBoot, он ведь записан в NOR.
_________________
PB 360° (v.15.3) | PB Pro 602 Grey (v.2.2.1a fastdrv) | PB A7 (v.1.3.1583) - подарок от PocketBook.
 
View user's profile ^

Eltaron
Заслуженный участник форума

Заслуженный участник форума



Joined: 13 Jan 2009
Posts: 280


Location: Екатеринбург

Posted: 27.06.2010 08:09    

Antuan wrote:
Eltaron wrote:
просто мусор из системной области какой-то

Или кусок загрузчика uBoot, он ведь записан в NOR.

нет, uboot в NAND'е
его через nandread /dev/mtd0 можно прочесть, если хочется Smile
_________________
Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0
 
View user's profile ^

Gubin_ss
Бывалый участник форума

Бывалый участник форума



Joined: 08 Feb 2009
Posts: 106


Location: Омск

Posted: 20.07.2010 17:17    

Здравствуйте Господа!!! Может подскажет кто нибудь из корифеев, как переписать вейформу на EB100, тобиш Explay V1 или Orsio 721, заранее спасибо, всем успехов
_________________
Если чайка летит жопой вперёд, значит ветер сильный "Народная примета"
 
View user's profile ^

Eltaron
Заслуженный участник форума

Заслуженный участник форума



Joined: 13 Jan 2009
Posts: 280


Location: Екатеринбург

Posted: 21.07.2010 10:42    

Gubin_ss
Сколько лет, сколько зим Very Happy

А вот неизвестно. На орсиевском форуме пытались, но ничего не вышло.
У тебя ведь явно кабель на ком-порт спаян? Попробуй в терминале wfwrite запустить. Судя по всему она вылетит, но интересно с какой ошибкой
_________________
Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0
 
View user's profile ^

DmitryZ
Кандидат в члены клуба The eBook

Кандидат в члены клуба The eBook



Joined: 29 Dec 2006
Posts: 295



Posted: 21.07.2010 16:37    

Eltaron, добавь плз в первое сообщение - ни в коем случае не пытайтесь перезаписать вейвформу на эпсоновском контроллере! На самом деле там вейвформа расположена по адресу 0x1000, а начиная с 0 там некая command area, которую если повредить, то девайс умирает совсем, спасает только перепайка SPI флешки. И формат вейвформ там совсем другой, по нему вообще никакой инфы нет.
 
View user's profile ^

Eltaron
Заслуженный участник форума

Заслуженный участник форума



Joined: 13 Jan 2009
Posts: 280


Location: Екатеринбург

Posted: 21.07.2010 18:54    

DmitryZ
фигасе... добавил
_________________
Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0
 
View user's profile ^

Gubin_ss
Бывалый участник форума

Бывалый участник форума



Joined: 08 Feb 2009
Posts: 106


Location: Омск

Posted: 22.07.2010 14:50    

Чёрт побери, подумал может быть попробовать на cybook NB100 попробовать прошить, на них визплексы стоят, и вайформу перешить может сама прошивка, но не нашёл я прошивки то, забанены все ссылки, может у кого осталась?
_________________
Если чайка летит жопой вперёд, значит ветер сильный "Народная примета"
 
View user's profile ^

radugaif
Член клуба The eBook

Член клуба The eBook



Joined: 16 Dec 2004
Posts: 1017


Location: Деревня Moskow

Posted: 30.07.2010 12:22    

я выложил набор рабочих Waveform's для Lbook
Собственно подходят для эксплей и орсий на PVI контроллере
тут собственно самые последние, середнячек , самые лучшие из старых и для LG матриц-

http://ifolder.ru/18708390



********************************

ищу инфу как их подписать для прошивки Покета 301 на PVI -
там вроде что-то MD5 128 bit должна быть но цифири не те - так что как она просчитана не докумекаю.

если менять содержимое WF а Хэш оставить старым - покет пишет что прошивка битая и WF не меняет.

может кто поможет ?

http://ifolder.ru/18714274

это рабочие waveform's для Покета.. но старые .

Требуемый просчета Хэш в начале файла.
_________________
Ремонт электронных книг в Москве.
 
View user's profile ^

Eltaron
Заслуженный участник форума

Заслуженный участник форума



Joined: 13 Jan 2009
Posts: 280


Location: Екатеринбург

Posted: 30.07.2010 16:20    

radugaif wrote:
ищу инфу как их подписать для прошивки Покета 301 на PVI -
там вроде что-то MD5 128 bit должна быть но цифири не те - так что как она просчитана не докумекаю.

там цифровая подпись через, кажется, AES 128
Не зная ключа (а его только покетбук знает) ничего не выйдет. А подбирать без квантового компьютера бессмысленно Smile
Проще swupdate крякнуть, чтоб он мог ставить прошивки, подписанные кем угодно
_________________
Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0
 
View user's profile ^

DmitryZ
Кандидат в члены клуба The eBook

Кандидат в члены клуба The eBook



Joined: 29 Dec 2006
Posts: 295



Posted: 30.07.2010 22:26    

Вейвформу на покете подписывать не нужно, подпись проверяется только для файловой системы и ядра. А MD5 ессно нужно пересчитать.
 
View user's profile ^

Gubin_ss
Бывалый участник форума

Бывалый участник форума



Joined: 08 Feb 2009
Posts: 106


Location: Омск

Posted: 16.09.2010 13:15    

Здравствуйте господа программисты. Тут небольшой вопросик, записать вайформу с флешки, это надо просто переименовать в update_kernel

mount -o remount,rw /dev/mmcblk0
mount -o remount,rw /dev/mmcblk0p1
DIR=$(echo $0 | sed s/`basename $0`$//)
${DIR}wfdump /dev/fb0 ${DIR}waveform_backup.bin
sync
mount -o remount,ro /dev/mmcblk0
mount -o remount,ro /dev/mmcblk0p1

wfdump в wfwrite. Больше ни чего править не надо? Confused
_________________
Если чайка летит жопой вперёд, значит ветер сильный "Народная примета"
 
View user's profile ^
Libroom Forum IndexАрхив форумов устройствExplayAll times are GMT + 4 Hours
Goto page 1, 2, 3, 4, 5  Next
Page 1 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© Libroom, 2021