LINUX.ORG.RU
ФорумTalks

Да, на этом работают IP камеры.

 gm8126,


0

1

Товарищ умудрился развести@запилить IP камеру на GM8126 (Grain media), подкинул мне на предмет покопать прошивку сварганить. Делюсь с толксами первым трип-репорт^W^Wэкскурсией в недры этой содомии.

  • armv5te. Для сравнительно свежего чипа.
  • Ядро 2.6.28. Стабильно и надежно, разлагается и воняет. Nuff said. И это для девайсов которые бай дизайн будут торчать в сетях в том числе корпоративных, и для которого наверняка дыр известно больше, чем есть в решете.
  • Модуль сенсора (слава яйцам, что v4l, а не «нестандартное техническое решение» (tm) ) содержит компайл-тайм конфиг, который скриптом потом передается мейком препроцессорными директивами. Причем это такие опции как HFLIP/VFLIP. module parameters? Рантайм конфиг? Нет, не слышали.
  • В модуль h264 кодера заглядывать боюсь. Там утенок. Туалентый. Актииивный.
  • Ни ядро, ни модули, ни юзерспейс не собираются свежими версиями GNU/Make. Хрошо откопал машинку с каким-то старым дебианом, с матами и кровавым патчингом собрал.
  • Собранное добро зашить через линукс по усб нельзя. Только виндовой утилитой, которая связывается по usb с тем, что работает в OTP чипа. Судя по тому, что оно определяется как USB Mass storage, только без накопителя, скорее всего оно работает кастомными scsi запросами, как stlinkv1. Но не факт.

Говнистость кода местами достигает 0.9-1.2 реалтеков. И судя по BSP для других чипов под IP камеры, это еще не худший случай. Одел костюм химзащиты, взял монтировку, запасся цинизмом, продолжаю раскопки.

★★★★★

Последнее исправление: AiFiLTr0 (всего исправлений: 2)

Ядро 2.6.28.

Типа старое, да? Я сейчас пишу с 2.6.34.14 и намерен ещё пару лет на этой ветке оставаться.

CYB3R ★★★★★
()
Ответ на: комментарий от CYB3R

Оно апдейты безопасности получает? А это застыло в пространстве и времени на уровне «it compiles - shit it!»

AiFiLTr0 ★★★★★
() автор топика
Ответ на: комментарий от CYB3R

того линуксового шарма.

Какого именно? Их много.

beresk_let ★★★★★
()
Ответ на: комментарий от CYB3R

На ядре 2.2 и libc5 система намного более душевна, так как ядро 2.2 наполняет биты оперативной памяти особой теплотой, исчезнувшей в более поздних ядрах. Только 2.2, только шина ISA, только Debian Woody!

shimon ★★★★★
()

Так чего удивляться? Такое сплошь и рядом встречается.

Quasar ★★★★★
()

Всё это отвратительно, но костюмы химзащиты таки НАдевают.

tailgunner ★★★★★
()

Говнистость кода местами достигает 0.9-1.2 реалтеков

а что с реалтеком не так, можно примеры посмотреть?

Harald ★★★★★
()

Говнистость кода местами достигает 0.9-1.2 реалтеков.

сколько же тогда у ралинковского SDK?

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Harald

а что с реалтеком не так

Это из серии «мы весь офис посадили в сеть 192.168.0.0/24, принесли новый вайфай и у нас теперь почему-то AD недоступен. Плохой Микрософт, нормально сделать не может!!!»

yu-boot ★★★★★
()
Ответ на: комментарий от AiFiLTr0

а что не так, любители старых ядер должны страдать :)

Harald ★★★★★
()
Ответ на: комментарий от Deleted

Это мир кровавого soho-embedded, где надо быстро сделать железку из говна и палок и продать ушастым юзверям. О поддержке, чистоте кода и прочем никто не задумывается даже. Работает? збс! говнокод? да и пофиг.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Deleted

Я в этом мире живу последние 5 лет, если не больше. И в среднем говнистость того, с чем я сталкиваюсь - 0.2-0.3 реалтека.

AiFiLTr0 ★★★★★
() автор топика
Ответ на: комментарий от CYB3R

То ты питон ненавидишь, теперь на древнем ядре сидишь. Православие головного мозга?

Extraterrestrial ★★★★★
()
Ответ на: комментарий от CYB3R

Типа старое, да? Я сейчас пишу с 2.6.34.14 и намерен ещё пару лет на этой ветке оставаться.

Newbie.

$ uname -r
2.6.18-348.4.1.el5PAE
AptGet ★★★
()
Ответ на: комментарий от AptGet

Теперь это перепеси некрофилов тред?

AiFiLTr0 ★★★★★
() автор топика
Ответ на: комментарий от stevejobs

А он есть? :) Да и странный вопрос вообще.
Под вендокодерами я понимаю людей, которые не разбираются в том, для чего пишут и на чем пишут, «компилируется - значит работает».

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

Это мир прошивок, созданных вендокодерами.

So true.

tailgunner ★★★★★
()
Ответ на: комментарий от pekmop1024

ну, драйвера моей звуковухи ведь как-то умудряются вызвать синий экран мгновенно, если выдернуть звуковуху из USB, забыв сбросить с нее флаг primary output device? :)

кстате насчет вендокодеров. Вот из последнего замечательного. OpenSSL не конпелируется, смотрю исходник, гуглю ошибку, а там:

... : error LNK2001: unresolved external symbol

OPENSSL_UplinkTable
perl ms/uplink.pl win64a > uplink.asm
ml64 -c uplink.asm

add it to APP_EX_OBJ in ntdll.mak file.
This however was never actually tested, AMD64 part of
uplink.pl was written «blindly.» A.

источник

т.е. он закоммитил даже не проверив, не то что, работает ли оно, а конпеляцется ли оно вообще. Enjoy your security with OpenSSL!

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

uplink.pl не может конпеляться, это же перл. :)
очевидно, у него не было под рукой 64-битного оффтопика.

pekmop1024 ★★★★★
()
Ответ на: комментарий от stevejobs

Да этот openssl вообще @#%$^#! Если билдрутом нужно передать строку в CFLAGS, в которой ты заботливо заэкранировал лишнюю пару кавычек, то эта сволочь тянет все флаги себе в version.h, заботливо стрипает неэкранированные кавычки и весело останавливает сборку с ошибкой.

eagleivg ★★★★★
()
Ответ на: комментарий от AptGet

Ох, первое ядро, которое я компилировал самостоятельно.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.