LINUX.ORG.RU
ФорумTalks

Всепобедители

 


0

1

Чет у них драйвер уарта дрисня какая-т. Нормальные драйвера при отсутствии входа 0 при read возвращают, этот зачем-то рингбуффер возвращает при том, что определить конец потока без фактического прекращения передачи невозможно (ни /n, ни /0, ни какой-то фиксированной длины). Видели еще такое где нить? Я пока встречал только адекватное поведение - нет передачи, значит нуль.

Кроме того, драйвер никогда не возвращает EAGAIN.



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

Минимальный пример косяка. Дескриптор открыт с O_NONBLOCK.

while((r = read(fd, buf, 1)) != 0) { printf(«%c», buf[0]); }

Бесконечно гоняет, всегда возвращает 1 знак, даже если этот знак может быть пустым.

monobogdan1337
() автор топика

Чет у них драйвер уарта дрисня

Если это представители хомосапинс, то хоть и пичально, но вполне обычно. Ищи исходники – правь дривер.

apt_install_lrzsz ★★★
()

Все еще бред какой-то. Отключаю TX (RX на плате) в момент теста из #2, продолжает лететь говно. Чет реально с драйвером не то.

monobogdan1337
() автор топика

Да на всех этих SoC что-то сломано. На рокчипах сломали клоки и разрешения на hdmi, тут uart

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

Тут суть в том, что это маленький ARMv5 проц, IP ядра используются частично от «больших». Поэтому вроде как что-то портировали, но нихрена не работает (тот же драйвер тача).

monobogdan1337
() автор топика

Билять, это просто жепа какая-то. Уарт нормально у них не работает, драйвер тача тоже мозги парит. Да что с ними не так-то?

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

Борда еще и зависла после суток аптайма при тестовой программе из #1, при том что вообще никаких аллокаций не происходит.

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

Короче это я немножечко ниасилил можно сказать. У линуха есть т.н raw mode у tty - те девайсы, с которыми я работал, изначально его ставили еще при запуске системы, но на sunxi был обычный терминальный режим, из-за чего система учитывала \n и читала ровно до ближайшего \n :)

monobogdan1337
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)