dlinyj: (Default)
[personal profile] dlinyj
Вообще, за время работы много чего узнал, от чего шевелятся волосы. Все ваши вопли, мол Поттеринг всё сломал и линукс превратил в мастдайку (привет [livejournal.com profile] eddy_em ) ерунда, в сравнении с реальным положением дел. И даже то что мелкомягкие мейнтенерят в ядро, это тоже не так страшно. Титан надвигающегося вселенского ада - это Китай. В частности один из самых распространённых китайских процессоров - Mediatek и прочее такое же гхм... Тысячи их и терабайты и петабайты китайского говнокода, который никто и никогда не перепишет и всё радостно идёт в ядро ведра.

Итак, пару примеров из моей практики. Мы говорим о чудесных открытиях и откровениях, не только по коду.

1. Если устройство не загрузилось, оно не будет заряжаться. Да-да, если вдруг слетела прошивка и работает только загрузчик (даже вторичный), а не ядро - заряжаться не будет. Для зарядки, суко, нужны ДРАЙВЕРА (фейспалм). Пример на фото. Железка (некоторая железка на медиатеке), к ней аппаратная консоль. Я втыкаю просто провод питания от зарядного устройства и на аппаратной консоли (припаяна и висит сзади платка преобразователя на 1,8 в) вижу лог загрузки и сообщения ядра.


Данное открытие я сделал, когда поймал бутлуп на устройстве, да что скрывать, на bv6000s. Аккумулятор не съёмный. Я был молод и глуп не видал больших ... и ушёл в пятницу домой, оставив его на зарядке. А в понедельник утром обнаружил полностью разряженный кирпич. Так что, если играетесь с прошивкой телефона, заряжайте его на 100% и в случае неудачи - снимайте аккумулятор. Реанимировать прошивку возможно (если, конечно калибровки не затёрли, но это надо талант иметь), но если устройство полностью сядет - сделать это будет сложнее.

2. Китайский говнокод.

Для меня было адовым откровением, что в сорцах ведра огромное количество тупо бинарных файлов, которые из userspace напрямую работают с железом, минуя системные вызовы ядра. И у меня вообще ощущение, что там libc используют едва-едва, только чтобы хоть запускалось. Это прямо боль и унижение. А самое большое унижение, это сами дрова железа. Вот ковыряю драйвер вайфая, в ядре линукс. И вижу такой, эм... Такое странное место.


На минуточку - это ЯДРО! Святая святых. Какого лешего там дефайны на windows??? Что за лютый треш? И такого ада там куча. Дрова написаны через жопу, даже мимолётно не соблюдая стандарты POSIX. Это АД!!!

Всё, я выплеснул свои впечатления ада, который есть сейчас.

Date: 2019-04-26 12:23 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Я впервые столкнулся и коричневая волна цунами китайского говнокода меня захлестнула...

Date: 2019-04-26 05:01 pm (UTC)
From: [identity profile] minimumlaw.livejournal.com
Понимаю Ваше недовольство. Сам регулярно ругаюсь (местами даже матом). Но не могу еще раз не повторить - если бы этим грешили только китайцы было бы проще. А так, увы, это мировая практика...

Вы будете еще больше удивлены если копнете глубже. Очень много функционала, вполне себе наличествующего в ядре, дублируется в драйвере (при чем не очень прямо). Начиная со связных списков и дальше. В конкретно взятом wlan драйвере может быть зачем-то продублирован (естественно не в полном объеме и крайне криво) функционал cfg80211/mac80211.

Date: 2019-04-28 12:31 pm (UTC)
From: [identity profile] shur-ik.livejournal.com
Было бы интересно "задружится" с Вами в(в рамках ЖЖ -- а, может быть, и вне них).

January 2026

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 07:52 pm
Powered by Dreamwidth Studios