Последни публикации

Страници: 1 ... 8 9 [10]
91
Хей ръчички, хей ги три / Re:The Book или направи си сам проблеми
« Последна публикация от gabo - Октомври 31, 2011, 18:38:12 »
Зареждайки все пак Bootloader-а, опитах да го накарам да зарежда и начална картинка. След няколко опита се отказах, хвърляйки сили в компилирането на Kernel. При него нещата бяха малко по-лесни.
Свалих сорса на Kernel-a ftp://ftp.ingenic.cn/3sw/01linux/02kernel/linux-2.6.31/linux-2.6.31.3.tar.bz2, свалих и последните кръпки за него ftp://ftp.ingenic.cn/3sw/01linux/02kernel/linux-2.6.31/linux-2.6.31.3-jz-20110719-tag-r1198.patch.tar.bz2, компилирах, ъплоаднах и естествено - не разпозна паметта. Аз обаче вече знаех какво да направя, коригирах файла nand_ids.c (този път се намира в папка /linux-2.6.31.3/drivers/mtd/nand ) и получих следния завършващ ред:
Цитат
yaffs: dev is 32505858 name is "mtdblock2"
VFS: Mounted root (yaffs2 filesystem) on device 31:2.
Freeing unused kernel memory: 176k freed
Warning: unable to open an initial console.
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
Опитах с готови файлове root.yaffs2 намерени от къде ли не в интернет - не става и не става, докато в една дискусия, посветена на подобен процесор Vogue Linux не намерих разковничето - root.yaffs2 файла трябва да бъде създаден с програма компилирана със същият kernel, която се намира в папка /linux-2.6.31.3/fs/yaffs2/utils -  mkyaffs2image
Цитат
mkyaffs2image 2 /rootfs rootfs.yaffs2
ъплоаднах го вече с командата:
Цитат
nprog 2048 rootfs.yaffs2 0 0 -o
  - забележете, че тук вече използваме -о а не -n (-o:with oob no ecc)
и

Но тук вече зациклих. Втора седмица се мъча да подкарам кернела с натройки, за да изкара картинка на екрана но не се намират правилните настройки.
Ако има нещо ново, ще споделя тук.
92
Хей ръчички, хей ги три / Re:The Book или направи си сам проблеми
« Последна публикация от gabo - Октомври 30, 2011, 15:37:16 »
Видях, че с готови решения нищо няма да може да се направи, затова запретнах ръкави, изтеглих от сайта на Ingenic сорса на bootloader-a
ftp://ftp.ingenic.cn/3sw/01linux/01loader/u-boot/u-boot-1.1.6.tar.bz2 и patch-a към него ftp://ftp.ingenic.cn/3sw/01linux/01loader/u-boot/u-boot-1.1.6-jz-20110719-r1728-add-jz4770.patch.bz2 /на сайта на производителя е даден по-стар/
зададох вълшебната конфигурация:
Цитат
make cetus_nand_config
Компилирах
Цитат
make all
, ъплоаднах и
Цитат
NAND Secondary Program Loader

Starting U-Boot ...


U-Boot 1.1.6 (Oct 30 2011 - 15:47:25)

Board: Ingenic CETUS (CPU Speed 378 MHz)
DRAM:  64 MB
Flash:  0 kB
NAND:nand_get_flash_type: No NAND device found!!!
NAND device: dev_id: 0xadd5 ext_id: 0x442594 not known!
nand_scan: No NAND device found!!!
0 MiB

 ... грешка. Естествено, NAND паметта не се разпознаваше както трябва.
Ударих му здраво четене, десетки опити докато установих следното. В оригиналния u-boot-1.1.6, паметите са описани по следния начин /във файла /drivers/nand/nand_ids.c:
Цитат
{"NAND 4MiB 3,3V 8-bit",        0xd5, 512, 4, 0x2000, 0},
        {"NAND 4MiB 3,3V 8-bit",        0xe3, 512, 4, 0x2000, 0},
        {"NAND 4MiB 3,3V 8-bit",        0xe5, 512, 4, 0x2000, 0},
        {"NAND 8MiB 3,3V 8-bit",        0xd6, 512, 8, 0x2000, 0},
....
Докато в модифицираният от Ingenic файл изглеждат така:
Цитат
{"TOSHIBA_TC58NVG2S3ETA00",     0x98DC,         0x00761590,     2,      1,      12,     5,      12,     12,     100,    60,     2048,     128*1024,    64,     3,      100,            4096,           512,    4,      8,      0,      0},
 {"SAMSUNG_K9F1208U0C",          0xEC76,         0x00743F5A,     1,      1,      12,     5,      12,     12,     100,    60,     512,     16*1024,       16,     3,      100,            4096,           512,    8,      8,      0,      0},
 {"HYNIX_HY27UF084G2B",          0xADDC,         0x00549510,     1,      1,      15,     5,     15,      15,     60,     60,     2048,     128*1024,     64,     3,      80,             4096,           512,    1,      0,      0,      LP_OPTIONS},
 
Два дни се рових из документации и какво ли не, докато налучках горе-долу вярна настройка, която след компилирането ми даде по-човешки екран:
Цитат
NAND Secondary Program Loader

Starting U-Boot ...


U-Boot 1.1.6 (Oct 23 2011 - 19:28:32)

GaBOOK: Ingenic CETUS (CPU Speed 378 MHz)
DRAM:  64 MB
Flash:  0 kB
NAND:2048 MiB
*** Warning - bad CRC or NAND, using default environment

-=-=-=-= 0x83e88000 -=-=-=-
In:    serial
Out:   lcd
Err:   lcd
Net:   No ethernet found.
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x400000, size 0x300000
NAND: Uncorrectable ECC error--
reading NAND page at offset 0x740000 failed
 3145728 bytes read: ERROR
## Booting image at 80600000 ...
Bad Magic Number
Още два дни четени ми бяха нужни докато разбера, че в конфигурационният файл, намиращ се в /include/config/cetus.h
Цитат
/*-----------------------------------------------------------------------
 * NAND FLASH configuration
 */
#define CFG_NAND_BW8            1              /* Data bus width: 0-16bit, 1-8bit */
#define CFG_NAND_PAGE_SIZE      4096
#define CFG_NAND_ROW_CYCLE      3
#define CFG_NAND_BLOCK_SIZE     (512 << 10)     /* NAND chip block size         */
#define CFG_NAND_BADBLOCK_PAGE  127             /* NAND bad block was marked at this page in a block, starting from 0 */
#define CFG_NAND_BCH_BIT        8               /* Specify the hardware BCH algorithm for 4750 (4|8) */
#define CFG_NAND_ECC_POS       24             /*!!! Ecc offset position in oob area, its default value is 3 if it isn't defined. */
//#define CFG_NAND_BCH_WITH_OOB
#define CFG_NAND_IS_SHARE       1               /* Just for other boot mode(e.g. SD boot), it can be auto-detected by NAND boot */

#define CFG_MAX_NAND_DEVICE     1
#define NAND_MAX_CHIPS          1
#define CFG_NAND_BASE           0xB8000000
#define CFG_NAND_SELECT_DEVICE  1       /* nand driver supports mutipl. chips   */
Като същата стойност за ECC -24 трябва да се зададе и в USBBoot.cfg.
93
Хей ръчички, хей ги три / Re:The Book или направи си сам проблеми
« Последна публикация от gabo - Октомври 26, 2011, 18:32:08 »
И така продължих с търсенето и опитите, докато не попаднах на друг един Firmware от m-book - Upgrade_M-Book_Mini_17-01-2011_chehol

благодарение на който успяха да се стартират всички кернели които бях свалил:

от оригиналният Augen

от м-боок мини

и от комплекта  с който вървеше bootloadera.
Само оригиналният от The book не можах да стартирам, по простата причина, че не го бях запазил и който чакам някой любезен читател да се престраши да ми прати.
Междувременно продължих експериментите с книгата. За жалост, освен заглавната картинка на kernel-а нищо друго не тръгваше.
В Телнет прозореца се виждаше защо:
Цитат
Bad eraseblock 431 at 0x006bff800
Bad eraseblock 432 at 0x006c3f800
Bad eraseblock 433 at 0x006c7f800
atm_auth failed
kernel failed, errno number is 10000
Restarting after 4 ms
Или
Цитат
JZ I2S OSS audio driver initialized
NET: Registered protocol family 1
NET: Registered protocol family 17
atm_auth failed
kernel failed, errno number is 10000
Restarting after 4 ms
Цитат
Или дори
Цитат
VFS: Cannot open root device "mtdblock2" or unknown-block(31,2)
Please append a correct "root=" boot option; here are the available partitions:
1f00            3584 mtdblock0 (driver?)
1f01            3584 mtdblock1 (driver?)
1f02          513536 mtdblock2 (driver?)
1f03          519168 mtdblock3 (driver?)
1f04         1043456 mtdblock4 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)

Явно нещо между Kernel и root файловете не съвпадаше, както преди с Bootloader-a и Kernel-a.
Правейки си леки експерименти с различните Bootloader-и, разбрах каква е разликата между нетръгващият и 'тръгващият' - Bootloadera (u-boot) не разпознаваше коректно вида на NAND паметта.
Цитат
CETUS # 01:26:19: nand info
Device 0: NAND 2GiB 3,3V 8-bit, sector size 256 KiB
а стартиращият Bootloader изписваше:
Цитат
SHENCHUANG # 01:52:53: nand info
Device 0: NAND 2GiB 3,3V 8-bit, sector size 512 KiB
С други думи - различните производители са ползвали различни NAND памети, поради което се определяше и грешно адреса от който трябва да се търси kernel.
По-глупавото е обаче, че дори тръгващият Bootloader явно беше компилиран с ядро /kernel/ който не разпознава коректно паметта.

Голямо значени за всичко това има и настройката на конфигурацията с която се ъплоадват пакетите, описана в USBBoot.cfg
и по-точно в частта:
Цитат
FORCEERASE      0         ;The force to erase flag (0|1)
OOBSIZE         128         ;oob size in byte
ECCPOS               24         ;Specify the ECC offset inside the oob data (0-[oobsize-1])
В конфигурацията на Augen-a беше написано горното, а в конфигурационният файл на тръгващият Bootloader:
Цитат
FORCEERASE      1         ;The force to erase flag (0|1)
OOBSIZE         224         ;oob size in byte
ECCPOS               16         ;Specify the ECC offset inside the oob data (0-[oobsize-1])
А при грешни стойности сътветните модули се зареждат на грешно място от където идват и съобщенията за грешки при зарежданото /+ неразпознаването коректно на паметта/
94
Хей ръчички, хей ги три / Re:The Book или направи си сам проблеми
« Последна публикация от gabo - Октомври 24, 2011, 22:30:09 »
Нямаше какво повече да губя, пуснах пълен ъпдейт на Firmware от Augen.
В резултат - смени се заглавната картинка:
но ефекта си беше същият.
Пробвах и с Firmware от гореописаната M-book mini - резултата беше този:

Притесних се разбира се, но не ми оставаше друго, освен да разбера - защо не продължава да се зарежда системата след началния екран.
Единственият начин да разбера беше, да намеря кои са UART точките /Rx и TX/ и да проверя какво ще стане.
След кратко четене и изследване с лупата, резултата беше следния:



Приспособих първоначално един кабел от стар телефон Nokia, / в последствие използвах малко по-елегантно решение/

Стартирах Hyper Terminal-а на Windows, настроих го на BPS 57600,8,n,1  и стартирах устройството.
Резултата се появи на екрана на Terminal-a
Цитат
Starting U-Boot ...


U-Boot 1.1.6-g4ebe9bef-dirty (Jun  7 2010 - 17:42:10)

Board: Ingenic CETUS (CPU Speed 336 MHz)
DRAM:  64 MB
Flash:  0 kB
NAND:2048 MiB
NAND: Uncorrectable ECC error--
NAND: Uncorrectable ECC error--
NAND: Uncorrectable ECC error--
NAND: Uncorrectable ECC error--
...
*** Warning - bad CRC or NAND, using default environment

lcd_open: enable = 1
logo: 240, 40
In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  1 [08][08][08] 0

NAND read: device 0 offset 0x400000, size 0x300000
NAND: Uncorrectable ECC error--
reading NAND page at offset 0x740000 failed
 3145728 bytes read: ERROR
## Booting image at 80600000 ...
Bad Magic Number
HWXBOOK #
С други думи - не можеше да намери KERNEL-a и затова стоеше на началния екран.
Пробата с няколко други кернела и Bootloader-а не доведе до нещо по-различно.

В този момент съжалих, че не отделих повече време да разуча системата и да се опитам да направя Backup.
Намерих описание на същото устройство е един руски форум:
http://a320.0pk.ru/viewtopic.php?id=226#p2059
където помолих някой да ми направи копие на bootloader.upg и kernel.upg, но явно попаднах на некомпететни писатели.

Все пак, ако някой иска да помогне, може да стартира USB_Boot.exe, да натисне клавиша ALT и да направи ресет на книгата. След това да напише:
Цитат
boot 0
nreadraw 0 378924 0 0
В папката с програмата ще се появи файл dump.bin, който трябва да се преименува на bootloader.bin
а след това с командата:
Цитат
nreadraw 1024 1729562 0 0
би трябвало да се прочете и файла kernel.bin
Бих бил благодарен някой да ми ги изпрати, въпреки, че както ще се разбере по-нататък от описанието, аз вече съм успял да подкарам и kernel и rootfs файловете.
95
Хей ръчички, хей ги три / Re:The Book или направи си сам проблеми
« Последна публикация от gabo - Октомври 23, 2011, 18:31:46 »
И така, докато се чудех да пробвам ли да кача оригиналният Firmware от Augen или не, попаднах на страницата на друг аналог на книгата /или поне външно изглеждаше така менюто на книгата/
M-Book Mini

Изтеглих и нейните ъпдейти на Firmware -то и видях, че в 99% си съвпадат.
Тук е мястото да разкажа и какво представлява един ъпдейт за книгата.
в архива се съдържат следните файлове:
bootloader.upg
kernel.upg
root.upg
system.upg
и няколко BAT файла, най-интересен от които е :
progonce.bat, тъй като в него е схемата за префлашване на системата:
Цитат
boot 0

nprog 0 bootloader.upg 0 0 -n

nprog 1024 kernel.upg 0 0 -n

nprog 2048 root.upg 0 0 -n

nprog 32768 system.upg 0 0 -n

exit
Другите файлове, които не се променят са :
USB_Boot.exe - програмата чрез която се качват горните файлове
fw.bin и usb_boot.bin - лоадери които се зареждат в паметта на устройството и позволяват да му се задават команди през USB порта и последния и доста важен файл:
USBBoot.cfg  - в него са описанията как и по какъв начин да бъде програмиран NAND чипа /това по-късно играе ОГРОМНА роля при зарежданото на новите версии/
Та дръпна си аз ъпдейтите за тази книга и започнах още по-здраво да се колебая дали да не я опитам, тъй като освен всичко друго, хората бяха вградили и поддръжка на DJVU файловият формат, както и часовник който се вижда докато се чете - нещо, което доста ми липсваше.
Няколко седмици колебания и един ден реших - ще пробвам да подменя само файла system.upd, та ако евентуално стане някаква беля, да мога да върна този от AUGEN архива.
Попрочетох из Internet, видях че мнозина си задават този въпрос, но никои не е пробвал и реших - мечка страх - мене - не.
Смело и безотговорно пуснах USB_BOOT програмата, написах:
Цитат
boot 0
nprog 4086 system.upg 0 0 -n
И зачаках. След 2 минутки рестартирах книгата и с ужас установих, че зарежда само началният екран -


Утре ще продължа с това, какво направих после.
96
Хей ръчички, хей ги три / Re:The Book или направи си сам проблеми
« Последна публикация от gabo - Октомври 22, 2011, 17:08:58 »
И така, винаги докато си четях книгата нещо в мен ме чоплеше. Дали не  мога да подобря програмата за четене, дали не мога да си кача някоя друга програма.
Започнах пак търсене и четене.
Процесора лесно го установих - вижда си се на снимката - jz4755, произведен от Ingenic Semiconductor, отивайки на сайта, открих доста добра документация и поддръжка. Бързо видях, че поддържат и FTP - ftp.ingenic.cn от където изтеглих всичко което можах - документация, сорсове и примери.
Преди това, се бях сдобил и с единственият достъпен ъпдейт а Augen The Book, линк за който намерих на споменатият вече http://openthebook.byteorder.net. - EBA701_V6_0721_-MAC_address.zip
В него, освен всичко друго се намираше и интересната програма: USB_Boot.exe / USB Boot Software current version: 1.4b/ благодарение на която може да се записват и четат данни в NAND паметта на устройството. /ТУК съм прикачил съм най-важните файлове + драйвери за Windows/

С малко четене се установи, че за да се влезе в режим USB Boot Host трябва да се натисне клавиша ALT и да се натисне бутона Reset /намира се в задната дясна част на книгата и се натиска с кламер/
При първо стартиране, Windows ще поиска драйвер за непознато устройство, идентифицирано като Ingenic Usb Boot Class.
След инсталацията на драйверите стартираме USB_Boot.exe  и забавлението започва :)
!!!!!! ВНИМАНИЕ !!!!!!!!! Не ползвайте командата nprog ако не знаете какво правите, това може да доведе то повреда на вашето устройство!!!!

Та първата приятна команда когато сме в този режим е :
help
Цитат
USBBoot :> help

Command support in current version:
help          print this help;
boot          boot device and make it in stage2;
list          show current device number can connect;
fconfig       set USB Boot config file;
nquery        query NAND flash info;
nread         read NAND flash data with checking bad block and ECC;
nreadraw      read NAND flash data without checking bad block and ECC;
nreadoob      read NAND flash oob without checking bad block and ECC;
nerase        erase NAND flash;
nprog         program NAND flash with data and ECC;
nmark         mark a bad block in NAND flash;
go            execute program in SDRAM;
version       show current USB Boot software version;
exit          quit from telnet session;
readnand      read data from nand flash and store to SDRAM;
load          load file data to SDRAM;
run           run command script in file;
memtest       do SDRAM test;
gpios         let one GPIO to high level;
gpioc         let one GPIO to low level;
sdprog        program SD card;
sdread        read data from SD card;
USBBoot :>

Както се вижда - доста възможности има този лоадер.
Поразгледах го и си поиграх няколко пъти с него, но не посмях да използвам намерените до тук файлове и да експериментирам с тях.
/продължението утре/

97
Хей ръчички, хей ги три / The Book, linux - опити и грешки
« Последна публикация от gabo - Октомври 19, 2011, 18:29:51 »
В началото на тази година започнах да се заглеждам вече по истински електронни книги EBOOK. Amazon-ският Kindle ми допадаше доста, но все не ми се случваше да заделя близо 300 лв за да го имам. Другите алтернативи се въртяха около същата цена, докато един ден не попаднах на едно добро предложение в сайта http://www.dealextreme.com - т.нар The Book. /който или е добро копие или е почти такова на Augen The Book и поне номерата им съвпадат EBA701 /.

Освен цената /$97.70/ и 7" екран, допадна ми факта, че е с Linux операционна система /демек - ще може да го модифицирам, ама за това - по-нататък/, че има Wi-Fi /не че  е много важно за една книга/, и че е лек и цветен ;)
Общо взето, поръчах я в началото на март и след двуседмично чакане книгата пристигна. Няма да правя ревю на дълго и на широко, интернета е пълен с такива. На мен книгата си ми върши чудесна работа, издържа близо седмица с едно зареждане /по 1-2 часа четене на вечер/, има и възможност за плейване на MP3 и филми, какво повече да му трябва на човек, още повече свикнал с ограниченията на предишните си книги.
И всичко щеше да е добре, ако след няколко месечна експлоатация, не започна да ме човърка мисълта за това, дали пък не може да се направи някаква шашма и да се подмени или hack -не вградения в нея Linux.
Многобройните търсения и четения доведоха само до един адрес http://openthebook.byteorder.net на който почти нищо съществено не се казваше и проекта беше замрял още в началото си.

Това охлади до някъде ентусиазма ми, още повече, че и официалния сайт на Augen, чийто клонинг притежавах, беше закрит, та и единственият ъпдейт който беше възможен за сваляне вече липсваше /е, аз го имах, ама не смеех да го пусна :)/

Един слънчев ден обаче, реших все пак да погледна какво има в кутията. Взех една използвана кредитна карта и ловко подпорих корпуса по цялата му дължина.

Ето какво се разкри отдолу :)

Общ вид
Общ вид под LCD екрана
Общ вид на платката. Вижда се процесора jz4755 и NAND паметта H27UAG8T2ATR
Wi-Fi модула

За момент пак мирясах, затворих книгата /буквално/ и продължих да си я използвам още известно време.

/утре следва продължение, как започнах експериментите с Linux и до къде доведе това/
98
Какво ми харесва / Re:аааааааааааа
« Последна публикация от gabo - Октомври 25, 2010, 22:47:00 »
Датата е вярна, ама алкохола не прощава  ;D
99
Какво ми харесва / Re:аааааааааааа
« Последна публикация от bossev - Октомври 05, 2010, 00:55:40 »
Ох.. няма значение.. обърках 1994 с 2004  :o :o :o

това не е на добре.. :)
100
Какво ми харесва / аааааааааааа
« Последна публикация от bossev - Октомври 05, 2010, 00:47:50 »
Приятел ми припомни вчера за Фидо.. и така от LinkedIN група та чак до тук стигнах.
Зарадвах се на аизмъкнатия от Габо архив и си викам чакай да разгледам форума..
Кликам да се регистрирам: "Има вече потребител с такова име!" Даааааааа бе!!
Хммм.. я да пробвам да се логна пък, въпреки, че нямам спомени да съм се регистрирал.
Стандартна парола... "Добре дошъл bossev!"
Баси.

Цитат
Име:     bossev
Публикации:    4 (0,002 на ден)
Позиция:    Newbie
Дата на регистрация:    май 27, 2004, 16:01:19

Тази дата на регистрация незнам дали е вярна.. ама.. ехх.. остаряли сме..

Наздраве!

Мартин
Страници: 1 ... 8 9 [10]