[02:25:27] <kottt> пичалька
[02:25:47] <kottt> ексепшены у меня при попытке зацепить gps по блютусу
[02:26:18] <kottt> еще большая пичалька, что не работает и в 4.0. А в тройке вообще синезуб не пашет
[03:06:41] <zombah> kottt ну ты пасти эксепшоны то! чего скрывать
[12:29:51] <zombah> добрый день
[12:35:18] <stuw> zombah, привет. вобщем я вчера ничего особо не нарыл. в федоре нет отладчика в тулзах для кросс компиляции. буду CodeSourcery пробовать на неделе.
[12:49:47] <zombah> понял
[14:48:55] <DanSwano> привет, люди, просветите, что на данный момент не работает в у-буте?
[14:52:31] <stuw> DanSwano, клава. Также 3.1 не загружается через убут.
[14:59:19] <DanSwano> да... если не работает клава, какой в нем смысл :)
[15:00:06] <stuw> смысл в полном использовании внутреннего накопителя
[15:00:07] <stuw> :)
[15:00:38] <stuw> избавляемся от собранных образов ядра - ядро можно ставить как обычно
[15:00:57] <stuw> ну и клава думаю появится со временем
[15:36:43] <beaver_rrr> о ло ло
[15:37:01] <beaver_rrr> а муромцев putusb кто-то на арче запускал?
[15:37:25] <stuw> хз, а что с ним?
[15:37:30] <stuw> это же питоновский скрипт
[15:38:58] <beaver_rrr> не запускается :(
[15:39:10] <stuw> с какими симптомами?
[15:42:16] <beaver_rrr> ну, кажется нашел либу
[15:44:56] <stuw> какую либу?
[15:46:18] <zombah> а нафиг вообще qt интерфейс, пускай из консоли скриптом его
[15:46:52] <stuw> да, к этому вопросу я присоединяюсь :)
[15:49:24] <beaver_rrr> File "putusb.py", line 151
[15:49:24] <beaver_rrr> print e
[15:49:24] <beaver_rrr> ^
[15:49:24] <beaver_rrr> SyntaxError: invalid syntax
[15:49:29] <beaver_rrr> ну я чисто рад
[15:50:46] <stuw> ты setup.py запускал?
[15:51:49] <stuw> beaver_rrr, и еще - у тебя питон какой версии? 3-й ?
[15:53:54] <zombah> я помню вот по этой инструкции запускал и чтот получалось http://ac100.grandou.net/putusb?s[]=putusb
[15:54:36] <zombah> но не qtшная, а просто putusb либа
[15:57:14] <beaver_rrr> stuw: да
[15:58:55] <stuw> beaver_rrr, попробуй 2.6
[15:59:01] <stuw> или 2.7
[15:59:05] <stuw> короче второй )
[15:59:27] <beaver_rrr> вообще питон, при всех его преимуществах - страшное блядство в плане зоопарка ебучего версий
[15:59:31] <beaver_rrr> как руби
[15:59:40] <stuw> :)
[15:59:40] <zombah> ток сейчас не могу вспомнить что за зверь bin/tegra_pre_boot.bin
[16:00:45] <stuw> кстати, нокто про далвик на лине не слышал? ) а то вон на винде андроид сделали )
[16:00:52] <stuw> *никто
[16:01:10] <zombah> stuw: есть пара проектов закрытых
[16:01:30] <zombah> alien dalvik и еще какойто не помню как называет
[16:01:36] <stuw> я вроде про один давно читал, но больше ничего вменяемого
[16:03:20] <beaver_rrr> install прошел, а пользоваться теперь этой фигней как? >_>
[16:03:46] <stuw> python2 putusb/qt-putusb.py
[16:05:00] <beaver_rrr> о, запустилось наконец-то
[16:05:08] <zombah> ну их много похожих проектов, я штуки 4 видал точно
[16:05:15] <stuw> zombah, у этих ребят даже исходники есть )
[16:05:37] <stuw> тока у них уже два дерева ) ешкин кот )
[16:06:01] <zombah> ты сначала загугли запаскают они вообще чтонить или нет
[16:06:14] <stuw> да это не важно )))
[16:06:20] <zombah> почему?
[16:06:28] <stuw> наличие двух репов уже напрягает )
[16:06:34] <stuw> я не собираюсь пока пробовать )
[16:07:01] <zombah> хз правда что это
[16:07:24] <zombah> вообще я в виртуалбоксе запускал андроид и он довольно шустро работал
[16:09:11] <stuw> ну это да. он есть под x86. но это полноценная ос. интереснее был бы только dalvik
[16:10:17] <zombah> The true power of ACL that it is 100% compatible and all Android Apps run exactly as they do on an Android device.
[16:10:28] <zombah> вообще фантастика
[16:11:09] <zombah> icedrobot пишут тоже не плох, надо попробовать
[16:11:22] <zombah> только для него надо еще dex2jar конвертить
[16:13:18] <stuw> zombah, когда все это успеть непонятно ))
[16:14:21] <stuw> я помню как минимум о 2-х патчах дял мейнлайна (dapm и hdmi audio) и о 2-х задачах по убуту (uboot+3.1, uboot+nvec) ))
[16:14:42] <stuw> нвек, наверное, в убуте только нам нужен )
[16:19:36] <zombah> всяко только нам
[17:37:38] <zombah> блин только узнал что есть git grep
[17:37:52] <zombah> и в нем не заменимый ключ -p
[17:38:03] <stuw> а что он делает? )
[17:38:19] <zombah> --show-c-function
[17:38:32] <zombah> или --show-c-function-line=RE
[17:40:19] <zombah> можно грепать целиком всю функцию где матч твой есть
[17:41:45] <zombah> в git grep подписан ключ просто как --show-function может он не только си понимает
[17:46:45] <zombah> блин в r16r2 уже fuse.c нет вообще
[17:48:10] <zombah> аа он стал tegra-fuse просто
[17:48:14] <zombah> я уже испугался
[17:48:19] <stuw> :)
[17:51:28] <zombah> правда почему нвек не инитится так и не могу вкурить
[17:52:12] <zombah> оо надо внешную мышь подключить, чтож я сразу не догадался
[17:56:25] <zombah> во точно, кстати не плохо так работает, осталось понять как экран перевернуть обратно и как нвек завести
[17:58:34] <stuw> zombah, это ты с убутом андроид загрузил?
[17:58:57] <stuw> по поводу нвека - логи нужно смотреть
[18:03:44] <zombah> stuw: ну я смотрел лог, там где должен быть nvec_init пусто 8)
[18:04:17] <zombah> stuw: нет с убутом пока нет
[18:05:26] <zombah> если получится загрузить ты первый об этом узнаешь 8)
[18:13:28] <stuw> ))
[18:22:25] <zombah> хаа https://github.com/CyanogenMod/android_kernel_asus_grouper/commit/f21c63acc2f6cda9255420dda6f08f8fcceb5133
[18:25:28] <zombah> нет чтоб ключ какой в конфигурации сделать или еще чтоб, просто бахнуть if 1 и все дела
[18:35:09] <stuw> lol
[18:35:52] <stuw> хотя им, наверное, так проще ))
[18:41:08] <zombah> так экран нормально теперь
[20:34:08] <savalik> кажется уже больше месяца не заходил) но все время читал логи ^_^
[20:34:21] <savalik> временами почти как баш почитать))
[20:35:05] <savalik> выйду в отпуск в середине февраля - буду вас тут доставать страшно ^_^
[10:38:57] <zombah> добрый день всем
[11:51:29] <stuw> resetnow_, на PC есть система автоматической настройки оборудования (plug'n'play). На мобильных девайсах - это роскошь. Поэтому нужно указать ядру, как и что инициализировать. В 3.1 описание устройств находится в исходиках (боард файлах), в 3.10+ - в device tree.
[11:52:06] <stuw> При использовании device-tree ты можешь один раз собрать ядро и использовать его на разных устройствах.
[12:13:32] <resetnow_> stuw: спасибо, сейчас запущу виртуалку и посмотрю содержимое боард файлов. Что-то вроде mach-paz00.h?
[12:16:53] <stuw> я названия не помню. ищи все *paz00*.h и *paz00*.c
[12:18:28] <resetnow_> stuw: https://gitorious.org/ac100/marvin24s-kernel/source/66a8ee5599effdbbb364b38d48c3f6e3b7bf7a68:arch/arm/mach-tegra/board-paz00-pinmux.c
[12:18:44] <resetnow_> наверное, где-то здесь нужно править
[12:21:17] <stuw> как минимум тут.
[12:21:52] <stuw> я глянул несколько pinmux файлов от других плат... там везде по-разному nand прописан
[12:21:57] <stuw> в хармони одна строчка
[12:22:05] <stuw> надо понять, как нам нужно прописывать
[12:26:08] <resetnow_> в mach/include/pinmux.h определен TEGRA_MUX_NAND
[12:26:51] <resetnow_> {TEGRA_PINGROUP_ATC, TEGRA_MUX_NAND — наверное, здесь поменять
[12:27:32] <resetnow_> потому что марвин говорил про ATC, что nand нужно на нее выводить через pinmux
[12:27:46] <stuw> а почему именно ATC ?
[12:28:47] <resetnow_> вот этот момент я тоже упустил
[12:29:04] <resetnow_> сейчас посмотрю в логах
[12:29:27] <resetnow_> <marvin24> resetnow_: looks like pingroup ATC is reponsible
[12:29:28] <stuw> на схеме куча GMI выводов используется
[12:31:49] <resetnow_> Интересно, связаны ли как-то обозначения на схеме с именами пингрупп?
[12:32:24] <stuw> там еще GMI_CSx на nand завязаны (слева)
[12:33:08] <stuw> связь должна быть. ты понял, где задефайнены пингруппы и что в них включено? (какие пины)
[12:34:00] <stuw> https://gitorious.org/ac100/marvin24s-kernel/source/66a8ee5599effdbbb364b38d48c3f6e3b7bf7a68:arch/arm/mach-tegra/board-aruba-pinmux.c - тут достаточно много пинмуксов для нанда
[12:34:45] <stuw> resetnow_, у тебя TRM (tegra reference manual) есть ?
[12:35:06] <resetnow_> пингруппы определены в pinmux-t2.h, но там не определяется содержимое групп
[12:35:12] <resetnow_> stuw: да, есть
[12:35:20] <stuw> cnh 184
[12:35:23] <stuw> *стр
[12:36:02] <resetnow_> да, я там был уже
[12:36:06] <resetnow_> ага, понятно
[12:36:43] <stuw> так, GMI_ADx тоже в эту группу входят.
[12:36:48] <resetnow_> как раз все те выводы, что к NAND подключены
[12:36:53] <stuw> угу
[12:37:07] <resetnow_> т. е. ATC понятно откуда взялась
[12:37:15] <stuw> значит можно попробовать TEGRA_PINGROUP_ATC включить
[12:37:24] <stuw> как в файле для harmony
[12:38:19] <resetnow_> https://gitorious.org/ac100/marvin24s-kernel/source/66a8ee5599effdbbb364b38d48c3f6e3b7bf7a68:arch/arm/mach-tegra/board-aruba-pinmux.c
[12:38:19] <resetnow_> >тут достаточно много пинмуксов для нанда
[12:38:32] <resetnow_> у них pinmux организован по-другому
[12:38:39] <stuw> видимо да
[12:38:49] <resetnow_> они отдельно пины переключают, а у нас группами
[12:38:49] <stuw> нам на хармони можно попробовать опереться
[12:39:27] <resetnow_> и еще у них NAND с 16-битной шиной, похоже, поэтому так много пинов AD
[12:40:11] <stuw> так, а питание на nand надо включать отдельно?
[12:40:23] <stuw> VDDIO_NAND
[12:40:27] <resetnow_> не знаю, я когда включал, там уже было 3.3v
[12:40:31] <stuw> jr
[12:40:34] <stuw> ок
[12:40:50] <resetnow_> может быть, оно где-то уже включено.
[12:41:18] <stuw> https://gitorious.org/ac100/marvin24s-kernel/source/66a8ee5599effdbbb364b38d48c3f6e3b7bf7a68:arch/arm/mach-tegra/board-harmony.c#L136 - еще нужно параметры добавить
[12:41:26] <resetnow_> я минут через 20-30 попробую собрать ядро и запустить. надо еще конфиг проверить, там опций про NAND и MTD штук 30
[12:41:52] <resetnow_> точно, тайминги
[12:42:30] <stuw> делай по аналогии с хармони
[12:42:39] <stuw> наши борды должны быть очень похожи
[12:43:10] <stuw> resetnow_, ты тайминги откуда брал для device tree (что ты ранее постил марвину) ?
[12:43:17] <stuw> и откуда gpio ?
[12:43:55] <resetnow_> тайминги скопировал из toradex t20, это неправильно, нужно читать даташит на тот чип, что я впаял
[12:44:41] <resetnow_> GPIO — оттуда же, только переделал под наши макросы. Это тоже неправильно, наверное, хотя можно было бы как-то разрешить пинмуксом.
[12:44:47] <resetnow_> я отойду на полчаса.
[12:45:14] <stuw> ok
[12:57:09] <stuw> resetnow_, по поводу GPIO - стр 189 (ищи GMB)
[12:58:05] <stuw> resetnow_, какого размера ты впаял nand чип ?
[12:58:14] <stuw> емкость в смысле
[13:04:17] <resetnow_1> stuw: 128 мегабайт
[13:18:15] <resetnow_> stuw: если GMI_WP относится к группе GMB, ее тоже нужно в конфигурации пинмукса переключить?
[13:25:03] <stuw> наверное да. в хармони она есть.
[13:25:22] <stuw> + gpio в хармони прописан как в мануале - с7
[13:29:39] <stuw> resetnow_, у нас GMB уже включается
[13:29:40] <stuw> )
[13:30:38] <resetnow_> я имел в виду, нужно ли делать TEGRA_PINGROUP_GMB, TEGRA_MUX_NAND
[13:30:52] <stuw> не думаю. делай как в хармони сделано
[13:31:06] <stuw> в ней TEGRA_MUX_GMI
[13:31:11] <stuw> у нас также
[13:31:29] <stuw> если что-то не заработает, тогда будем думать и пробовать разные варианты
[13:31:33] <resetnow_> ок, я пока переношу в board-paz00.c описание NAND из harmony
[13:31:38] <stuw> угу
[13:32:19] <resetnow_> пока что меня волнует, где брать vendor id и device id
[13:32:31] <stuw> в даташите на чип?
[13:32:39] <resetnow_> может быть, сйечас посмотрим
[13:38:01] <resetnow_> да, есть.
[13:38:21] <resetnow_> что-то я не понял, в harmony указан чип H5PS1GB3EFR
[13:38:30] <resetnow_> гугл говорит, что это SDRAM
[13:38:59] <resetnow_> наверное, ошибка в наименовании или что-то в этом роде
[13:40:37] <resetnow_> либо это объединенный SDRAM + NAND
[13:40:44] <resetnow_> просто в одном корпусе
[13:41:13] <stuw> http://www.elnec.com/device/Samsung/K5E2G1GACM+%5BFBGA137%5D/ <- K5E2G1GACM : Device Type -> E = NAND Flash + DDR SDRAM
[13:41:43] <stuw> видимо последнее, что ты предположил
[13:44:53] <resetnow_> capacity, наверное, в мегабитах.
[13:44:59] <stuw> скорее всего
[14:12:01] <resetnow_> записал тайминги. Флешке, из которой я выпаял NAND чип, лет 10, поэтому почти все длительности оказалась в полтора-два раза больше, чем у чипа из harmony
[14:12:09] <resetnow_> все макросы всроде те же
[14:12:20] <resetnow_> gpio тоже совпадает
[14:12:26] <resetnow_> сейчас попробую собрать
[14:14:15] <resetnow_> так, забыл в board-paz00.h добавить сигнатуры
[14:16:06] <resetnow_> хотя нет, там их и не должно быть, функций никаких не добавилось, хм.
[14:17:19] <resetnow_> ну да, #include <mach/nand.h>
[14:17:37] <resetnow_> ядро собралось.
[14:17:43] <stuw> уже гуд
[14:20:03] <resetnow_> http://pastebin.com/iSHfcZSB — это включенные опции конфига, там много лишнего, наверное
[14:21:05] <stuw> возможно. надо описание опций читать. пусть будет, скорее всего сломать это ничего не должно
[14:25:04] <resetnow_> появился /dev/mtd0
[14:25:29] <stuw> читать-писать можно?
[14:28:31] <resetnow_> да!! dd слил образ, только довольно медленно
[14:28:39] <resetnow_> сейчас закончит, посмотрим скорость
[14:28:40] <stuw> вах! круть! )
[14:28:53] <stuw> там фс есть?
[14:30:15] <stuw> надо как-нибудь проверить, что все правильно работает и данные не теряются
[14:31:12] <resetnow_> так, dd закончил. Скорость — 500 кб/с на чтение, это жутко медленно, я наверняка накосячил с таймингами. С другой стороны, флешка была древняя.
[14:31:47] <resetnow_> ФС там есть, но в /dev нет чего-то типа /mtd0p1
[14:32:10] <stuw> перепроверь тайминги и, если не сложно, черкани на вики, что да как (какой чип, патчи приложи)
[14:32:30] <stuw> фс может быть с нулевого сектора
[14:32:38] <stuw> попробуй без p1 примонтировать
[14:33:13] <resetnow_> но содержимое флешки вроде бы нормальное, посмотрел в ghex - всякие лабы с универа так и остались
[14:33:26] <stuw> пропробуй смонтировать
[14:34:38] <resetnow_> /dev/mtd0 is not a block device
[14:34:43] <stuw> %)
[14:35:20] <resetnow_> может, попробовать таблицу разделов заново создать?
[14:35:33] <stuw> хм... можно попробовать через losetup настроить loop девайс
[14:35:51] <stuw> а толку? разделы создашь, но смотрировать не сможешь по той же причине
[14:36:01] <resetnow_> мне кажется, что на чипе лежала еще прошивка контроллера, а сама fs начинается с какого-нибудь энного сектора
[14:36:14] <stuw> может быть
[14:36:28] <stuw> у нас c emmc примерно такая же фигня
[14:36:41] <stuw> две скрытые партиции и далее основной накопитель
[14:37:23] <resetnow_> CONFIG_MTD_BLKDEVS=m
[14:37:23] <resetnow_> CONFIG_MTD_BLOCK=m
[14:37:36] <resetnow_> и после этого не block device
[14:37:38] <resetnow_> ладно
[14:37:38] <stuw> cat /proc/mtd
[14:38:15] <resetnow_> mtd0: ... ... "tegra_nand"
[14:45:40] <resetnow_> похоже, в флешке контроллер распределял запись по секторам так, чтобы запись была равномерной
[14:46:11] <resetnow_> поэтому testdisk/photorec не видят каких-либо файлов целых, а только кусками
[14:46:29] <stuw> о как
[14:46:49] <resetnow_> но содержимое точно соответствует содержимому флешки. напишу пока марвину и попробую еще запись.
[14:47:38] <stuw> давай. если образ есть (и данные нужны), то думаю можно со спокойной душой пересоздать фс на ней
[14:59:42] <resetnow_> данные не нужны вообще
[15:01:10] <resetnow_> запись не работает, dd пишет: "writing to /dev/mtd0: invalid argument"
[15:01:25] <stuw> это печально :( что в dmesg ?
[15:01:28] <resetnow_> точнее, пишется 512 байт
[15:01:38] <resetnow_> но они как мусор записываются
[15:02:02] <resetnow_> т. е. содержимое изменяется, но не становится тем, что писали через dd
[15:02:12] <resetnow_> можно с параметрами попробовать поиграться
[15:02:23] <resetnow_> но чтение работает стабильно
[15:02:27] <resetnow_> сейчас посмотрю dmesg
[15:04:27] <resetnow_> [ 2260.284851] tegra_nand_write_oob: Unaligned write (to 0x200) not supported
[15:04:36] <stuw> хм, возможно через ioctl нужно нанд писать.... http://www.linuxforu.com/2012/01/working-with-mtd-devices/ - вот тут надо читать
[15:05:53] <stuw> http://www.linux-mtd.infradead.org/faq/ubi.html#L_attachmtd - хотя вероятно сначала проще начать с этого
[15:07:21] <resetnow_> почитаю, ок
[15:07:30] <resetnow_> stuw: спасибо за помощь :)
[15:07:49] <stuw> пожалуйста ) мне и самому интересно было, что получится
[15:11:07] <resetnow_> думаю, для начала нужно включить в ядре UBI. Вечером попробую.
[15:32:51] <stuw> ок
[17:38:05] <resetnow_> залил патч на вики. пространство для массовых модификаций несколько ограничивается тем, что для каждой модели чипа нужно прописывать тайминги, device id и пересобирать ядро
[17:38:46] <stuw> resetnow_, спасибо.
[17:39:17] <stuw> если драйвер для нанда портируем(ют) в 3.13+, то нужно будет только девайс три поменять.
[17:42:12] <stuw> по мне самое сложное в этом всем - припаять чип )))
[17:46:32] <stuw> resetnow_, прикольно расписал!
[18:04:22] <resetnow_> stuw: он не BGA, так что несложно.
[18:04:43] <resetnow_> пока что проблема в том, что ubiformat говорит, что у меня 90% блоков бэд
[18:05:12] <stuw> для меня (с паяльником ЭПСН-25 и плохим скиллом пайки) сложновато :)
[18:05:15] <resetnow_> это либо последствия перепайки, либо возраст флешки-донора, либо ошибка в конфигурации чипа
[18:05:47] <resetnow_> да, с ЭПСН придется повозиться, я бы не взялся)
[18:06:01] <resetnow_> сейчас довольно дешевые бывают со сменным жалом
[18:06:17] <stuw> больше влияет то, как сильно флешка насиловалась
[18:06:53] <stuw> * я у своего паяльника жало подточил, в целом паять мелочь можно, но нужен опыт, чтобы таким паяльником фигачить ))
[18:07:03] <resetnow_> там есть какой-то счетчик записи, я только не понял, где он физически находится
[18:07:18] <stuw> это все внутри чипа, на сколько я понял
[18:07:42] <resetnow_> а еще кажется, что я что-то не так настроил и блок с количествоом записей больше 0 считается как bad
[18:09:12] <stuw> а что ты мог неправильно настроить?
[18:09:21] <stuw> тайминги если только
[18:09:23] <stuw> может в них дело
[18:12:59] <stuw> resetnow_, можешь выводы команд куда-нибудь выложить?
[18:13:09] <stuw> интересно поглядеть, что там за информация имеется
[18:17:25] <stuw> resetnow_, кстати, если dd читал блоками не кратными erasesize, то могла быть очень большая просада по скорости
[18:30:28] <resetnow_> stuw: да, это я понял уже. Я вообще никаких параметров не указывал
[18:30:36] <resetnow_> сейчас спрошу на основном канале про это
[18:35:07] <stuw> resetnow_, кстати, у тебя в даташите одно значение 0, а в патче ты поставил 20. Ты с 0 пробовал патч?
[18:37:25] <resetnow_> нет, я посмотрел тайминги для других микросхем и не нашел 0
[18:37:34] <resetnow_> на всякий случай поставил 20
[18:37:51] <resetnow_> просто 0 — очень странное значение для тайминга
[18:37:59] <resetnow_> надо попробовать
[19:24:40] <stuw> resetnow_, echo test | curl -F 'sprunge=<-' http://sprunge.us <- так можно постить в веб данные (чтобы не делать фотки)
[19:24:58] <stuw> это марвин как-то запостил команду
[19:26:51] <resetnow_> stuw: спасибо, а то неудобно dmesg на флешке перекидывать
[19:30:05] <stuw> resetnow_, а почему length=64 ?
[19:30:38] <resetnow_> stuw: потому что до этого пробовал размер страницы, блока, теперь вот размер oob
[19:31:14] <stuw> в dmesg что-то про 64 > 20. Пробовал 20 ?
[19:31:47] <resetnow_> да, это какое-то другое 64, оно всегда 64
[19:33:10] <resetnow_> без опции --oob читает.
[19:35:25] <stuw> я домой потопал, логи потом почитаю )
[19:36:58] <resetnow_> ок)
[21:19:39] <savalik> ну вы прям хардкорно взялись в последние дни я смотрю) респект и уважуха ^_^
[21:39:20] <resetnow_> в общем, эти 20 берутся вот отсюда
[21:39:20] <resetnow_> https://gitorious.org/ac100/marvin24s-kernel/source/66a8ee5599effdbbb364b38d48c3f6e3b7bf7a68:drivers/mtd/devices/tegra_nand.c#L159
[21:39:32] <resetnow_> и я пока слабо представляю, как это разрулить
[21:39:49] <resetnow_> т. е. запись-чтения oob-блока почму-то не выполняется
[21:40:13] <resetnow_> у других платформ вообще как-то по другому все сделано, не находил похожей структуры взаимодействия
[21:42:48] <resetnow_> возможно, нужно что-то менять именно в тегровской реализации, потому что этот код тянется еще с древних ядер
[21:43:50] <resetnow_> хотя на всяких колибри работает же. Наверное. Надо найти плату с тегрой и с nand
[21:43:58] <zombah> что вы такое интересное мутите?
[21:44:45] <resetnow_> zombah: я впаял себе в тошибу еще памяти и пытаюсь с ней работать http://ac100.wikispaces.com/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0+NAND+%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8
[21:45:10] <zombah> лихо
[21:45:18] <resetnow_> ну почти заработало
[21:45:44] <resetnow_> читать уже можно, но mtd и прочие высокоуровневые системы не заводятся
[21:46:59] <zombah> а какого размера этот нанд?
[21:47:31] <resetnow_> какого поставишь, такого и будет, я для теста выдернул из флешки 128 мб
[21:47:58] <zombah> у seaboard нанд смотрю, глянь в его ядро
[21:48:51] <zombah> http://u-boot.10912.n7.nabble.com/PATCH-0-6-tegra-Add-NAND-flash-support-td116413.html
[21:50:00] <zombah> из хромиум ядра, счас найду репо
[21:50:12] <resetnow_> только у них device tree
[21:50:28] <zombah> а у нас?
[21:50:35] <resetnow_> а у нас пока только в ветке 3.1 работает
[21:50:42] <resetnow_> она без dt
[21:51:13] <resetnow_> добавили описание в файл борды (paz00)
[21:51:22] <zombah> seaboard тоже harmony можно туда черепикнуть патчи марвина и вперед
[21:51:40] <resetnow_> хотя стоп, tegra_nand.c общий для всех тегр
[21:52:00] <resetnow_> т. е. надо смотреть, как nand сделан у других платформ, получается
[21:52:27] <zombah> да там в борде только клоки и все
[21:52:42] <zombah> https://codereview.chromium.org/6623073/diff/39001/include/configs/tegra2_seaboard.h
[21:53:35] <resetnow_> https://chromium.googlesource.com/chromiumos/third_party/kernel-next/+/0.11.241.B/drivers/mtd/devices/
[21:53:55] <resetnow_> там тегра вообще одна с нандом
[21:55:40] <resetnow_> хрен его знает, я сегодня уже не осилю что-то менять, буду завтра смотреть.
[21:56:29] <resetnow_> какие-то проблемы с размером out-of-band блока
[21:56:42] <zombah> а какой корпус у нанда этого? soic?
[22:05:37] <zombah> а ну типа соика, прикольно
[22:08:25] <zombah> аа помню видел
[22:08:50] <zombah> а чем разница между нанд и тем что у нас по дефолту
[22:11:20] <zombah> он шустрее?
[22:13:44] <resetnow_> не знаю, если честно. На том, что по дефолту, написано inand. Думаю, технологически то же самое, но в дефолтном чипе есть встроенный контроллер, который следит за бэдблоками и прочим.
[22:17:25] <resetnow_> интересно, а что будет, если вообще отключить CONFIG_MTD_NAND_ECC
[22:17:48] <resetnow_> хотя нет, это из другой области
[22:54:35] <resetnow_> в тегровском драйвере nand местами код работает через магические константы и хардкод
[22:54:39] <resetnow_> writel(0xaa55aa55, RESP_REG);
[22:54:43] <resetnow_> /* ... poison me ... */
[22:54:53] <resetnow_> 480 строка
[22:55:11] <resetnow_> в общем, в планах добавить дебаг в функцию чтения-записи oob
[23:03:02] <stuw_> resetnow_1, nandread с параметром -v (verbose) должен выводить инфу о размере oob (https://gitorious.org/android-enablement/system-core/source/b6b8793b8b6dad500f6884539e47efb4c161576a:toolbox/nandread.c#L130)
[23:03:09] <stuw_> что он у тебя выводит?
[23:06:37] <stuw_> по идее должно читаться столько, сколько ядро вернуло в mtdinfo.oobsize
[23:06:47] <stuw_> может ядро шалит и не то возвращает?
[23:08:54] <resetnow_1> Я выключил компьютер, но ошибка (та, где multi page) как раз из-за того, что oobsize неправильный
[23:09:18] <resetnow_1> Т. е. размер всего блока oob — 64 байта
[23:09:26] <resetnow_1> А в функцию попадает 20
[23:09:45] <resetnow_1> nandread -v попробую сейчас
[23:12:35] <resetnow_1> Так, а ещё у меня нет nandread, только nanddump
[23:16:07] <resetnow_1> В принципе, какая разница. mtdinfo правильно показывает.
[23:18:13] <stuw_> правильно, в смысле 20 ?
[23:18:58] <resetnow_1> Сейчас я открою и посмотрю
[23:29:17] <resetnow_> https://gitorious.org/colibri-t20-embedded-linux-bsp/colibri_t20-linux-kernel/source/7a0dba83ce48f3ff913b136f9d9329600a866ca3:drivers/mtd/devices/tegra_nand.c#L1265
[23:30:41] <resetnow_> oobsz = mtd->oobavail;
[23:31:30] <resetnow_> хотя нет, все правильно, он равен 20
[23:32:51] <stuw_> ладно, затра будем дальше ковырять. сегодня уже мысль не так шустра ))
[23:32:57] <resetnow_> я так понимаю, проверяется, что ooblen не больше, чем место под tagdata
[23:33:07] <resetnow_> да
[23:33:42] <resetnow_> у меня уже смешались все эти oob, mtd и прочие
[23:36:23] <resetnow_> последним моим сегодняшним предположением будет то, что oobavail нужно заменить на 64. Как я понимаю, этот параметр задает общий объем oob-блока, а tagdata заданы следующим параметром — размер и смещение