Процесс портирования драйверов устройств Linux

Автор: admin от 11-03-2018, 20:10, посмотрело: 103

Здравствуйте, хаброчитатели!



Введение



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



Процесс портирования драйверов устройств Linux


Процесс переноса может занять от нескольких минут до более продолжительного промежутка времени. Зависит это не только от сложности драйвера, но и от того, с какой и на какую версию ядра вы собираетесь перейти (API имеет свойство меняться — отсюда лезут все проблемы), а также от качества реализации кода, бывает, что проще переписать, чем перенести, но об этом не будем.



К сожалению, я не могу прикрепить исходный код драйвера, но мы рассмотрим все проблемы, с которыми я и вы можете столкнуться в процессе переноса. Далее будет рассмотрен пример переноса простого драйвера c версии ядра 2.6.25 на 4.12.5, который расположен в drivers/serial/name_uart.c. Также нам очень поможет следующий ресурс 2.6.25 и 4.12.5, где можно посмотреть структуру ядра, а также исходные коды.

Категория: Операционные системы » Linux

 

Как не стать Python-разработчиком

Автор: admin от 8-03-2018, 21:25, посмотрело: 136

Как выглядит трек обучения программированию на Python с нуля? С чего стоит начать? На чем сделать акцент? Как не потерять интерес?

Полгода я искал ответы на эти вопросы, тщательно исследуя предметную область. Я обнаружил много полезных советов. Особенно в заметке Василия Большакова и на Хекслете. Но мне не хватало структуры. Знания нарастали со всех сторон и превращались в кучу. Чтобы структурировать процесс обучения и оценить его масштаб, я собрал план.

Категория: Операционные системы » Linux

 

Обнаружение сетевых устройств

Автор: admin от 7-03-2018, 21:50, посмотрело: 88

Сканирование сети с построением списка устройств и их свойств, таких как перечень сетевых интерфейсов, с последующим снятием данных в системах мониторинга, если не вникать в происходящее, может показаться особой, компьютерной, магией. Как же это работает — под катом.



Обнаружение сетевых устройств

Категория: Операционные системы » Linux

 

Настройка динамического dhcp-pool с привязкой к определенным портам Cisco Catalyst

Автор: admin от 7-03-2018, 21:50, посмотрело: 73

Так сложилось, что сеть у меня построена таким образом, что IP-адреса выдаются только тем

клиентам, чьи MAC-адреса прописаны в самописной системе управления сетью и учета трафика (назвать это биллингом язык не поворачивается).



Спустя несколько лет я понял, что диапазон сети 192.168.0.0/21 забит практически под завязку, причем большинство прописанных в БД системы управления MAC-адресов — это адреса устройств Wi-Fi пользователей, зачастую уже давно забытых и не используемых.



В итоге было решено выделить диапазон 192.168.7.0/24 только конкретно под Wi-Fi устройства с динамическим выделением адресов.



Для этого я вычислил на всех свитчах Cisco все точки доступа Wi-Fi по портам и прописал их в классы на dhcp-сервере (используется isc-dhcpd под Linux).



Схема сети:



Настройка динамического dhcp-pool с привязкой к определенным портам Cisco Catalyst

Категория: Операционные системы » Linux

 

Расширение функционала меню в nanoCAD 8.5: макросы и LISP выражения

Автор: admin от 6-03-2018, 12:00, посмотрело: 91

Расширение функционала меню в nanoCAD 8.5: макросы и LISP выражения


Файлы меню nanoCAD имеют расширение .cfg и структуру, отличающуюся от структуры меню (*.mnu, *.cui, *.cuix) других САПР. В версии 8.5 появилась поддержка макросов, которые могут содержать несколько команд и параметров, а также LISP-выражения.

Категория: Операционные системы » Linux

 

Асинхронные (самосинхронные) схемы. Вычисление логических функций непосредственно по графу событий. Часть 2

Автор: admin от 6-03-2018, 12:00, посмотрело: 58

Напомню, в первой части речь шла о вычислении простых импликант (конъюнкций) для циклических поведений без параллелизма, выбора и кратных сигналов по трем точкам (состояниям).



Асинхронные (самосинхронные) схемы. Вычисление логических функций непосредственно по графу событий. Часть 2


Задача состояла в том, чтобы импликанта покрыла точку 2 (то есть была равна 1 на этом состоянии) и не выходила за пределы обозначенные точками 1 и 3… При этом положение левой границы импликанты (левее точки 2) безразлично. Правая граница (правее точки 2) должна быть максимально сдвинута вправо. Невозможность вычисления импликанты означает наличие CSC конфликта. То есть существует непрерывная последовательность событий (но не все поведение целиком), в которой каждый сигнал переключается четное число раз.



Приступим теперь к вычислению минимальной логической функции (ДНФ) для сигнала x.



Асинхронные (самосинхронные) схемы. Вычисление логических функций непосредственно по графу событий. Часть 2

Категория: Операционные системы » Linux

 

Удаление фона с помощью глубокого обучения

Автор: admin от 6-03-2018, 12:00, посмотрело: 111

Удаление фона с помощью глубокого обучения


Перевод Background removal with deep learning.



На протяжении последних нескольких лет работы в сфере машинного обучения нам хотелось создавать настоящие продукты, основанные на машинном обучении.



Несколько месяцев назад, после прохождения отличного курса Fast.AI, звезды совпали, и у нас появилась такая возможность. Современные достижения в технологиях глубокого обучения позволили осуществить многое из того, что раньше казалось невозможным, появились новые инструменты, которые сделали процесс внедрения более доступным, чем когда-либо.



Мы поставили перед собой следующие цели:




  • Улучшить наши навыки работы с глубоким обучением.

  • Совершенствовать наши навыки внедрения продуктов, основанных на ИИ.

  • Создать полезный продукт с перспективами на рынке.

  • Весело провести время (и помочь весело провести время нашим пользователям).

  • Обменяться опытом.
  • Категория: Операционные системы » Linux

     

    Трансляция один-ко-многим: нужен ли медиасервер?

    Автор: admin от 6-03-2018, 12:00, посмотрело: 70

    Трансляция один-ко-многим: нужен ли медиасервер?

    TL;DR – ДА.



    Очередная статья нашего израильского коллеги по WebRTC и звонкам между браузерами переведена для Хабра. Мы в Voximplant разрабатываем собственное решение для организации видеоконференций через сервер и можем сказать что да, все именно так. Peer-to-Peer штука хорошая, но работает не во всех случаях. А сделать хорошую видеоконференцию через сервер не так просто, когда к серверу подключается множество разных веб-браузеров и мобильных устройств, каждый со своим подключением к интернет и своей реализацией видеостека. Через некоторое время мы расскажем о внутренностях нашего решения, а сейчас слово передается Цахи Левент-Леви, создателю широко популярного в узких кругах bloggeek.me

    Категория: Операционные системы » Linux

     

    Подключение Allure-репортера к произвольному тест-фреймворку на python

    Автор: admin от 5-03-2018, 21:35, посмотрело: 55

    Автоматизация нуждается в человекочитаемых отчетах о тестировании — что тестировалось, какими тестовыми шагами, с каким результатом. Для этого существует система генерации отчетов Allure.



    Allure поддерживается большинством известных тестовых фреймворков, а для неизвестных требует написания так называемого адаптера.



    Как подключить Allure в любой произвольный фреймворк или не фреймворк вовсе?

    Категория: Операционные системы » Linux

     

    Детективная история про RMCP+ и OpenSSL, или как Wireshark помог победить incorrect argument в OpenIPMI

    Автор: admin от 5-03-2018, 21:35, посмотрело: 61

    Внутри будет немного кода на Си, немного дампов Wireshark'а и чуть-чуть консольных команд.

    Дано: несколько железок, которые должны опрашиваться по интерфейсу IPMI из под GNU/Linux, и две из них, которые отказывались это делать.



    Детективная история про RMCP+ и OpenSSL, или как Wireshark помог победить incorrect argument в OpenIPMI

    Категория: Операционные системы » Linux