Козырная карта
Учитывая последние тенденции на ЛОРе, и и начало весны, думаю многим пригодится козырная карта. Доступно теперь по короткому адресу:
используйте с умом!
Учитывая последние тенденции на ЛОРе, и и начало весны, думаю многим пригодится козырная карта. Доступно теперь по короткому адресу:
используйте с умом!
samlib.ru, мегафон-москва:
traceroute to samlib.ru (81.176.66.171), 30 hops max, 60 byte packets
1 frostblade (192.168.1.1) 7.460 ms 7.379 ms 7.352 ms
2 * * *
3 10.190.92.146 (10.190.92.146) 86.400 ms 86.433 ms 97.161 ms
4 10.77.41.188 (10.77.41.188) 97.172 ms 103.230 ms 103.254 ms
5 * * *
6 * * *
7 * * *
8 * * *
9 10.77.245.13 (10.77.245.13) 68.750 ms 57.565 ms *
10 37.29.105.77 (37.29.105.77) 101.627 ms 217.881 ms 303.713 ms
11 78.25.83.234 (78.25.83.234) 308.132 ms 308.127 ms 308.093 ms
12 ae-8.m7-ar4.msk.ip.rostelecom.ru (87.226.133.178) 308.084 ms 308.067 ms 311.102 ms
13 msk-bgw1-ae0-21.rt-comm.ru (213.59.5.109) 311.089 ms 311.075 ms 311.064 ms
14 msk-bgw2-ge3-0-1-0.rt-comm.ru (195.161.47.62) 311.026 ms msk-bgw2-ge3-0-5-0.rt-comm.ru (195.161.47.70) 311.022 ms msk-bgw2-ge3-0-1-0.rt-comm.ru (195.161.47.62) 310.990 ms
15 msk-bgw2-ge3-0-1-0.rt-comm.ru (195.161.47.62) 310.979 ms 184.131 ms msk-bgw2-ge3-0-5-0.rt-comm.ru (195.161.47.70) 106.332 ms
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
Рвется где-то на ростелекоме, судя по http://www.downforeveryoneorjustme.com/samlib.ru это только у меня. Я что-то упустил, или СИ опять заблочили?
Как многие знают, при травлении персульфатом когда раствор перенасыщается медью ВНЕЗАПНО оно начинает осаждаться на меди пп, при этом приводя к браку и матерным высказываниям в адрес вселенной.
Так вот. Мониторить это на глаз по «голубизне» как-то некошерно, думал запилить автоматику. Надо мониторить:
В тред приглашается заслуженный химик ЛОРа
Dorif.
Собственно, спецам. Сам пока схематику не реверсил/раскуривал, но вопрос такой: насколько реально, там обычно опорное резисторами задается или вхардкожено в импульсники?
А то светодиоды оказались с прямым около 14 вольт, с учетом падений на степе и прочим получаю 9 из заявленных 10ти ватт только при напруге питания моего драйвера в ~15 вольт, а там еще падение на проводах будет.
Пофиксил ламинатор, запилил маску в стиле «кровавая мэри поппинз».
Пруф: http://rghost.net/private/52560306/4a2486d6489f0cc285d7ad44543cd2ac/image.png
Для тех кто не в теме - плата не заводская, а 100% кустарная. В виде маски тонер от цветного CLP-365
Собственно на операционный стол к пожилому некроманту угодил Acer AL1732, решивший после 5 секунд вырубать подсветку. Ну думаю, на CFL драйвере кондеры беременные. Разбираю, и впрямь не только беременные но уже и родили. Перепаял - все равно в защиту уходит. Видимо крантец лампе. Разбираю матрицу, ампутирую лампы. Одна из 4х CFLек почернела немного, и накрылась. Остальные 3 исправны. Выпилил CFLки, наклеил светодиодные ленточки с белыми диодами, запитал от входных 12 вольт. В итоге получил новомодный моник с LED подсветкой, с которого сейчас и пишу этот пост. . За сим у меня нарисовались три здоровые CFL лампы и драйвер для них. Отдам самовывозом в мск, если кому надо для реанимации схожих моников. Драйвер - все каналы здоровы (проверял).
Стал обращать внимание на прогрессирующее развитие неприязни к солнечному свету. Днем тяжелее заставить себя работать, мысли текут медленнее, а с наступлением темноты наоборот повышается работоспособность. По молодости было не так заметно, а теперь что-то совсем жесть. Что-то так и подмывает перейти на режим где днем спать а ночью бодрствовать. Укусов на теле нет, питаюсь нормально, святой воды и крестов не шарахаюсь, глаза здорового красного цвета. Что посоветует ЛОР-врач?
надо брать, я считаю: http://www.seeedstudio.com/depot/nose-led-kit-normally-on-version-p-1273.html...
Таки запилен: http://pics.ncrmnt.org/index.php?album=junk/colorsilk/
Правда, ламинатор я убил внезапно... Но это поправимо. И драйвера CLP-365 по ходу придется патчить, чтобы он тонера не жалел.
В общем, для тех кто пропустил - сделал вот такую вот вундервафлю. И тут приходит мне пятничная мысль в голову. А можно ли запилить им паяльную маску? Оказывается - можно
В общем, пора покупать цветной лазерник...
Посоветуйте сабж.
Хочется: Температура плавления тонера не более 200 градусов, возможность отключения экономии тонера, равномерный и щедрый залив тонером больших плигонов. 600dpi как минимум, возможность печати на тонкой бумаге и мелких кусочках. Разумеется, поддержка линуксом, желательно cups'ом из коробки. Ну и цена не более 10 * 10^3 деревянных.
Простая процедура засыпки тонера в картридж и заправляемость - большой плюс.
Применение: ЛУТ
... Для межзвездных перелетов и большой политики.
http://ncrmnt.org/wp/wp-content/uploads/2013/12/IMG_2431-1024x575.jpg
Для Ъ: Украина несовместима с Республика Беларусь, Земля.
Кстати, как в Белоруссии с 3g/EDGE? Для покупки симки паспорт нужен, али на каждом углу как в Крыму? Какого ОПСОСА выбирать?
Сейчас пытаюсь ужать библиотечку для работы с nrf24L01 до вменяемых размеров, чтобы еще сильнее ужать свой бутлоадер для обновления фирмвари... При этом пытаюсь не превратить сам код в нечитаемое УГ. После игр с флажками компилятора, добавления -Wl,relax и еще пятка флажков помимо -Os вроде стало ужиматься в 4к. Думаю... С хрена 3/4 кода выжирает сама библиотека. Стал смотреть листинг. В общем забавно достаточно, оказалось. На авр:
* вызов функции foo() обойдется в 4 байта.
* вызов функции по указателю 8 байт
* вызов функции из структурки obj->foo() - 24 байта
Впрочем, это С. Тут все не так плохо. А если использовать плюсы - вызов метода класса foo.bar() обойдется нам в 34 байта !!!! Это к тому почему я считаю плюсы на 8битной аврке наркоманией
Debian wheezy, развертыаю gitlab.
bundle exec rake assets:precompile RAILS_ENV=production --trace выдает страшнющий трейс и валится. Выхлоп: http://p.ncrmnt.org/99/
В dmesg при этом появляется веселенькое такое упоминание: [108663.023736] Unhandled prefetch abort: breakpoint debug exception (0x002) at 0xb4dbecb4
В какую сторону копать?
Все это добро крутится на debian wheezy armhf. Отмечу, что тесты тут юзают только одно ядро. Если сравнивать с cubieboard, то видно что некоторые тесты будут быстрее даже на меньшей в два раза частоте камня из-за того, что боттлнеком является память. (DDR2 vs DDR3) На arch linux arm будет быстрее из-за более агрессивной оптимизации под более поздние камни.
http://p.ncrmnt.org/96/ (спрятал на копипасту специально для операюзеров)
И да, у нас в сортире^Wсерверной сегодня deploy
Воткнул второй odroid-x2. Стойка резана под них на лазере, шпильки М4. Дополнительно еще планируется парочка этажей. Жесткие диски тут временно, уйдут в планируемый NAS с RAID-5. Заодно докрутил u-boot на x2, чтобы завелось usb и чтобы брал ядро с роутера по tftp, так что теперь обновление ядра производится заливкой zImage-odroid на в /tftp на роутер. К слову там еще только предстоит развернуть наконец-то nginx и продумать как мне лучше перераспределить нагрузку на два узла и дождаться когда приедут из китая печатки под мой кастомный APC с блэкджеком и gsm модулем. Заодно призвал на стену демона красноглазия, чтобы неустанно смотрел своими глазами на сервак и хранил его от аппаратный сбоев ;)
Продолжаем наш нерегулярный сериал в толксах про треш, угар и линукс. Злобный некромант против чуда китайской мысли, Pipo MAX M6 Pro.
[ первая серия | вторая серия | третья серия ]
Неделька выдалась трудная, и потому от силы с мог посвятить дальнейшим копаниям пару-тройку вечеров, да и то когда мозги уже далеко не в лучшей форме.
Острой проблемой стоял дисплей, ибо без него все остальное будет просто бесполезнейшим бесполезняком. Проблем добавляло то, что именно моя LCD матрица в ядре никоим образом не упоминалась, что наводило на очень неприятные мысли о том, что тайминги придется добавать с матами, при помощи дизассемблера, мата и грубой силы. Ибо документации у меня было чуть меньше, чем вообще нихрена. Повезло, что в #linux-rockchip люди могли рассказать то, что не написано в документации даже мелким шрифтом на китайском и безо всяких NDA. Но не по поводу LCDC, ибо в основном там тусовка крутится вокруг андройд-стиков типа UG802 и тому подобных.
Итак, начнем с подключения. На LCDC0 и попутно на i2c-2 шине висит некая хрень, зовущаяся anx6345, являющаяся eDP трансмиттером. Документации на нее чуть меньше, чем вообще никакой, но суть примерно такая: входит в нее параллельный вход от LCDC, а из нее идет DP до LCD панели. Такая конфигурация в ядре есть, есть и драйвер на anx. Но вот, западло - панелька там другая, хоть тоже и ретина с тем же разрешением.
Попытки завести anx6345 с наскоку мне не удались. Оказалось, что там как-то очень хитро включается и отключается питание панели. Иными словами - на стоковом ядре я видел на i2c-2 по адресам 0x38, 0x39 и 0x3d этот anx, а на моем самосборе докрученном получал кукишь, несмотря на то, что gpio врубающие 3.3v, 1.8v я честно прописал.
Дальнейшие копания не выявили никаких i2c-gpio/spi-gpio расширителей, потому голос внутри моей головы тихо и ясно произнес - «а все ли я учел с gpio?»
Выяснилось, что нет.
Были там ноги, которые сдампил в виде "?" gpio-user-drv, то есть китайцы выполняя request_gpio не удосужились написать кому и зачем оно нужно.
Именно поэтому я полез в исходники драйвера GPIO и раскурил регистровую карту. Благо, одного хедера с дефайнами оказалось достаточно, чтобы найти по какому офсету лежит Data Register а по какому Direction Register.
Честно сдампив devmem'ом значения при работающем дисплее и восстановив их на своем ядре я опять получил фигу. На i2c-2 anx'а не появилось.
«Ну точно сдвиговый регистр! Или еще какая НЁХ.»
Следующая мысль была простая. Так как devmem ммапит в память приложения кусок физического пространства, то и обращения к нему будут явно сильно быстрее, чем через gpio api ядра. А значит, мы реально можем восстановить что там происходит! За пять минут из исходников devmem2.c я запилил тупой трейсер, который насилует указанный адрес памяти и логгирует все его изменения, после чего выводит историю изменений в консоль. Пара минут работы дампера, и у меня в руках скрипт который включает anx6345, и который успешно это делает в том числе и на моем ядре.
devmem 0x2000A000 32 0x515101
devmem 0x2000A000 32 0x515001
devmem 0x2000A000 32 0x514001
devmem 0x2000A000 32 0x515001
devmem 0x2000A000 32 0x511001
devmem 0x2000A000 32 0x515001
devmem 0x2000A000 32 0x515005
devmem 0x20080000 32 0xA8034E0
devmem 0x20080000 32 0x1A8034E0
Для начала я запихнул это в ядро, прямо перед инициализацией anx6345, потом разберусь что из этого оставить. Achievement unlocked: eDP трансивер заработал!
Но если Вы думаете, что на этом приключения закончились победой, Вы ошибаетесь. Экран по прежнему был черным, а драйвер anx сообщал что незадетектил клока.
Пришло время раскуривать сырцы rk-fb, rk-fb сам не раскурится. Клока anx скорее всего не видел потому, что lcdc0 не запускался. Чтобы это сделать надо его пнуть через файлик в sysfs. Влияет ли это на то успешно стартует anx6345 или нет? А хрен его знает, потому первым хаком я заставил lcdc0 заводиться автоматом сразу перед тем, как драйвер anx6345 будет делать свой probe.
Сообщение об отсутствующем клоке пропали. Но на экране все равно был шедевр Малевича вместо содержимого фреймбуфера. Так как панелька у меня не та, которая собиралась в ядре, у меня пошли нехорошие мысли. Не работать может из-за двух причин.
* Pipo черезжопно по-своему настраивают anx под эту панель.
* LCDC0 настроен на другие тайминги/параметры и требуют хаков. Самое время вспомнить про i2cdump, собрать его статически и снять дамп i2c регистров anx6345 на андроеде.
В пользу этого предположения говорило то, что в логе стока в инициализации панели говориться fps:56, а у меня fps:48 i2cdump и впрямь показал разницу. Так как из документации на anx6345 был только хедер с названиями регистров, пробежавшись по нему я понял, что это разница тупо в статусных регистрах. И говорили они что нихрена не работает.
Пришла пора дампить регистры LCDC0. Регистры сами не сдампятся. Еще минут пятнадцать медитации, запись единички в очередной файлик enable в sysfs и...
Оказалось, что по дефолту LCDC, который умеет накладывать оверлеи выводит только бэкграунд, который был черным. Случайно лулза ради заменив в сырцах меджик намбер с нулей на 0xffки я получил белый экран, а немного поковыряв нашел тот enable, записав единичку в который наконец-то увидел содержимое fb. И вроде даже ничего никуда не поехало, и тайминги правильные оказались...
Achievement unlocked: LCD панелька заработала.
Вот пожалуй и все на сегодня, пора спать. На очереди иксы, mali, on2, причесывание этого хозяйства.
Кстати, fb консоль у меня так и не завелась. Если ее включить в ядре, то так и остается навека черный экран, даже без пингвина. Ох уж эти наркоманы...
Продолжаем сериал про треш и угар. Злобный некромант против чуда китайской мысли, Pipo MAX M6 Pro. первая серия вторая серия
Сегодня особых продвижений не было, дисплей все так же молчит. Процедуру раскурки регистровой карты GPIO и PINMUX'а и написанием дампера для стока я решил отложить на завтра (Хорошо хоть на стоке devmem включен, без него было бы тяжко!).
Решил заняться вайфаем. За вайфай отвечает комбо-чип внутри которого bcm4329, который сидит на SDIO. Который наотрез оказался собираться. Одел говнодавы, засучил рукава взял ключ на 28 и пошел чинить. В ходе почина в подземельях нашлись следующие артефакты:
эпичная установка канала в легаси рокчиповом коде. Прямо таки «Fuck the FCC!»
Вайфай вроде почти завел, на #linux-rockchip уже почти свой в доску... остались мелочи подчистить. И на этой неделе таки придумать как завести панельку.
Местоположение: нерезиновый дефолтсити. Нужен тариф для пары железяк, у которых единственная активность в сети будет одна-две смски (или http post запроса через гпрс-интернеты) в полгода в лучшем случае (в случае, как легко догадаться, факапа. т.е. случай на самом деле худший, но да не суть). Соответственно вставил симку и забыл. И чтобы оператор эту симку не заблокировал за неиспользование/не перевел на тариф с абонентнкой.
Видел и щупал сабж на каких-то медиатековских клонах Galaxy Note на выставке, где он был именно для емкостного тача. Работал и с моим телефоном. Но все стилусы для емкостных тачей в продаже которые вижу - толщиной с мой палец. Видел ли кто в продаже сабж? Желательно с фри шиппинг ворлдвайд
Доброго вечера мои любители треша, ада и эмбеддеда. В прошлой серии триллера я рассказывал о первых впечатлениях от рокчиповской кухни. Теперь, пожалуй продолжу повествование большим количеством треша и ада. На данном этапе даже я уже не уверен, что у меня получится довести дело до конца.
Бут. Тут они без сомнения финалисты. С горем пополам, матом, экспериментами и болтовней в #rockchip-linux удалось понять, что мой пад грузит ядро из boot в андройдовском image формате, подписанным rkcrc. Дальше написание паковщика и скриптов для прошива было делом 5 минут.
Как и ожидалось, для нанда забубенен FTL, который превращает их нанд в блок девайс, и делает балансировку нагрузки. Но вместо написания отдельного кривого блочного устройства, как это сделали содомиты из sunxi, рокчиповцы пошли дальше - контузили немного mtd подсистему и впихнули wear-leveling в свой standalone mtd device и монтируют в итоге /dev/mtdblockX как ext4.
Что самое неприятное, их огороженный загрузчик, который они не дают даже своим клиентам под NDA в BSP работает поверх этого же самого FTL, потому выпилить его из ядра ради нормального ubifs чревато тем, что нельзя будет потом загрузиться.
Меня долго удивляло - зачем у них включен FIQ дебаггер на последовательном порту, а консолька висит на ttyFIQ0. Оказывается консоль на их драйвере последовательного порта не работает, потому это «официальный» (tm) способ подцепить консоль на уарте. Поздравляю, первое место в номинации костыль года.
В msdos_partition.c у них воткнут какой-то странный их дебаг, который радостно сообщает о том, что на карточке MBR таблица разделов. Страшно подумать зачем они это делали.
Много спагетти в arch/arm/mach-rk3188, нетривиально инклюдятся сырцы из arch/arm/mach-rk30 и arch/arm/mach-rk29. Ядро вообще минное поле. Один неправильный конфиг - и оно упадет не при компайл-тайме, так в рантайме.
Экранчик - честная ипадовская ретина, которая сидит через anx6345 преобразователь на их lcdc0 (или 1?) интерфейсе. Из anx6345 к экрану торчит DisplayPort.
В общем, пока взлетели (детектятся и загружаются дрова): акселерометр (gs_lis3dh), компас (ak8975), гироскоп (l3g4200d_gryo), USB и 3г модем (MT6229) на одном из внутренних портов, оба SDIO порта (в одном карта с дебианом whezy, в другом сидит wifi), rtc (rtc_hym8563), подсветка экрана (pwm выход на одной из ног рокчипа), тачскрин(ct36x), cpufreq степпинг, и ddr_freq степпинг (хотя частоты/напряжения надо будет докрутить немного, чтобы получить заявленные 1.8Ghz, сейчас потолок 1.6Ghz. Да и память тоже может работать быстрее явно)
Не взлетело: anx6345 (детектиться по i2c на стоке, на моем ядре по этому адресу отсутствует. WTF? Подозреваю надо хитро врубать питание) и соответственно LCD панелька.
Напряжение логики VCC_IO для LCDC (1,8 или 3,3 вольта) задается параметром Kconfig для каждого LCDC интерфейса. Дефолт в BSP - 3,3 вольта. (Не загружайте дефолт на других падах посоны, попалите панель!!!!)
Не дошли руки врубить/затестить: WiFi, BT, GPS, звук, mali, спящий режим
Скорее всего забью: HDMI (нафиг нужен). Соответственно дебиан уже стартанул, потихоньку привожу систему в порядок:
Debian GNU/Linux 7 arvale ttyFIQ0
arvale login: root
Password:
Linux arvale 3.0.36+ #28 SMP PREEMPT Thu Nov 21 22:37:06 MSK 2013 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@arvale:~# uname -a
Linux arvale 3.0.36+ #28 SMP PREEMPT Thu Nov 21 22:37:06 MSK 2013 armv7l GNU/Linux
root@arvale:~# cat /proc/cpuinfo
Processor : ARMv7 Processor rev 0 (v7l)
processor : 0
BogoMIPS : 1631.46
processor : 1
BogoMIPS : 1631.46
processor : 2
BogoMIPS : 1631.46
processor : 3
BogoMIPS : 1631.46
Features : swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc09
CPU revision : 0
Hardware : PipoMaxM6
Revision : 0000
Serial : 0000000000000000
root@arvale:~#
| ← назад | следующие → |