И еще про эти ваши линуксы
Apr. 19th, 2012 05:57 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Я ж забыл написать, зачем мне была копипаста в линуксовых редакторах: http://metaclass.livejournal.com/679287.html
В общем, я тут пытаюсь сделать софтину для программирования через RS232 одной железяки, причем я хочу в целях сушения мозга сделать ее под линукс. Но линукса в приемлемом виде у меня нигде нет - в основном виртуалки, удаленные сервера, почти нигде нет иксов, итд. И соответственно, я пытаюсь в виртуалке с ubuntu 10.04 lts для начала подключится к железяке терминалом. А rs232 там реализован в виде CP210x usb-rs232 адаптера и само-собой, от входа оно нихрена не заработало.
Чтобы заработало - пришлось качать исходники ядра, исправлять модуль драйвера этого чипсета, пересобирать и грузить новый модуль: http://pharos.ece.utexas.edu/wiki/index.php/Fixing_the_cp210x_open_-_Unable_to_enable_UART_Error_-_04/17/2011
Внутри драйвера какие-то ненатуралы поставили таймаут 300 мс на usb операции, причем захардкодили его в каждом вызове. Я сделал константу на нормальный таймаут и стал заменять все хардкодед значения на имя этой константы, а автозаменой там не сделаешь, потому что 300 встречается и само по себе, безотносительно таймаута. Ну и вспомнил типичное линукс вуду с клипбоардом, который в каждой проге сам по себе.
PS: И да, ядро пришлось обновить, иначе с тем linux-source что были в репе, собирался модуль, не подходящий для используемого ядра.
В общем, я тут пытаюсь сделать софтину для программирования через RS232 одной железяки, причем я хочу в целях сушения мозга сделать ее под линукс. Но линукса в приемлемом виде у меня нигде нет - в основном виртуалки, удаленные сервера, почти нигде нет иксов, итд. И соответственно, я пытаюсь в виртуалке с ubuntu 10.04 lts для начала подключится к железяке терминалом. А rs232 там реализован в виде CP210x usb-rs232 адаптера и само-собой, от входа оно нихрена не заработало.
Чтобы заработало - пришлось качать исходники ядра, исправлять модуль драйвера этого чипсета, пересобирать и грузить новый модуль: http://pharos.ece.utexas.edu/wiki/index.php/Fixing_the_cp210x_open_-_Unable_to_enable_UART_Error_-_04/17/2011
Внутри драйвера какие-то ненатуралы поставили таймаут 300 мс на usb операции, причем захардкодили его в каждом вызове. Я сделал константу на нормальный таймаут и стал заменять все хардкодед значения на имя этой константы, а автозаменой там не сделаешь, потому что 300 встречается и само по себе, безотносительно таймаута. Ну и вспомнил типичное линукс вуду с клипбоардом, который в каждой проге сам по себе.
PS: И да, ядро пришлось обновить, иначе с тем linux-source что были в репе, собирался модуль, не подходящий для используемого ядра.
no subject
Date: 2012-04-19 05:08 pm (UTC)Впрочем, раз уж я занимаюсь всем этим безумием, можно заодно и в этом разобраться.
no subject
Date: 2012-04-19 05:21 pm (UTC)1. Правишь. В данном случае всё тривиально: заменить 300 в вызовах usb_control_msg() на USB_CTRL_SET_TIMEOUT.
2. Билдишь, проверяешь что всё ok.
3. Коммитишь с -s (что б получить Signed-off-by: ...) и пишешь вразумительный commit message.
4. git format-patch -1
5. ./scripts/checkpatch.pl
6. ./scripts/get_maintainer.pl
7. засылаешь людям/спискам из вывода предыдущей команды с помощью git send-file или любимого mail клиента (предварительно убедившись, что он не делает с патчами чего-то странного). Можешь сделать на меня CC - kirill (at) shutemov.name.
8. Реагируешь на feedback.
9. ???
10. PROFIT!
См. Documentation/SubmittingPatches Documentation/SubmitChecklist
no subject
Date: 2012-04-19 06:29 pm (UTC)no subject
Date: 2012-04-19 07:12 pm (UTC)no subject
Date: 2012-04-19 06:36 pm (UTC)no subject
Date: 2012-04-19 08:29 pm (UTC)Потому как thunderbird превращает табы в патче в пробелы и прочую тыкву.
no subject
Date: 2012-04-19 08:36 pm (UTC)В Documentation/email-clients.txt написано как заставить тот или иной клиент вести себя по человечески.
Мне лично git send-email удобней.
no subject
Date: 2012-04-19 08:54 pm (UTC)no subject
Date: 2012-04-19 09:01 pm (UTC)no subject
Date: 2012-04-19 09:14 pm (UTC)no subject
Date: 2012-04-19 09:18 pm (UTC)no subject
Date: 2012-04-20 04:34 am (UTC)userver:~$ git send-email
git: 'send-email' is not a git command. See 'git --help'.
no subject
Date: 2012-04-20 05:00 am (UTC)no subject
Date: 2012-04-20 05:12 am (UTC)no subject
Date: 2012-04-20 05:17 am (UTC)no subject
Date: 2012-04-20 05:37 am (UTC)no subject
Date: 2012-04-20 05:38 am (UTC)no subject
Date: 2012-04-20 05:11 am (UTC)