metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-04-19 05:57 pm

И еще про эти ваши линуксы

Я ж забыл написать, зачем мне была копипаста в линуксовых редакторах: 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 что были в репе, собирался модуль, не подходящий для используемого ядра.

[identity profile] mudasobwa.livejournal.com 2012-04-19 03:08 pm (UTC)(link)
Наверное, vi на виртуалке все-таки был? Тогда открываете и пишете:

:%s/300/3000/gc

Спросит подтверждение для каждой замены.

[identity profile] bydl0coder.livejournal.com 2012-04-19 04:17 pm (UTC)(link)
Find and replace in files в виме через жопу, вроде
Можно так

:arg **/*.c
:argdo s/300/CONSTANT/c

("с" значит подтверждать каждую замену)

[identity profile] kiryl.livejournal.com 2012-04-19 04:46 pm (UTC)(link)
Замени на USB_CTRL_SET_TIMEOUT и зашли патч в апстрим. Это займёт меньше времени, чем написание этого поста.

(Anonymous) 2012-04-19 05:01 pm (UTC)(link)
Не пойму почему не сделать патч? Я вам скажу у вас есть шанс сразу получить работу на ЗП в 10 раз выше чем сейчас.

Про копипасту. Я просто делаю Ctrl+C и Ctrl+V Не использую vim и emacs. Надо понимать, что как бы они круты небыли (я всё еще надеюсь начать использовать vim), они использовались в другое время и в других условиях. VI всё еще актуален на тупых линках. Но он постепенно вымирает.

[identity profile] victor bolshakov (from livejournal.com) 2012-04-19 06:33 pm (UTC)(link)
Линуксы, линуксами... Но зачем себя насиловать уродским GUI? Кто запрещает редактировать на винде в чем хочеш? Мне на удаленно системе для всех мелочей vi хватает, хотя уже лет 5 думаю чтонить посовременее поставить. Все остьальное или через самбу или через NFS редактирую.

[identity profile] bigfrogg.livejournal.com 2012-04-19 06:53 pm (UTC)(link)
У меня CP210x работает из коробки. Пробовал на ядрах начиная с 37 где-то, сейчас 3.2 и тоже работает. Debian.

[identity profile] tzirechnoy.livejournal.com 2012-04-19 07:34 pm (UTC)(link)
vim `find . -type f -exec grep 300 {} \; -print`
Записать макрос qr
Проиграть макрос @r

Макрос dwiМАЯ_КАНСТАНТА

Потом ищешь по 300 до конца файла, следующий файл -- :wn

[identity profile] xl0.livejournal.com 2012-04-19 11:07 pm (UTC)(link)
Поправить конечно хорошо, но ещё лучше, чтобы CP занималось хостовое ядро, а в виртуалку прокидывать уже просто последовательный порт. Оно и заметно быстрее должно быть.