Использование windows драйверов в linux

NDISwrapper — это программа использующая *.inf файлы Windows драйвера в Linux, которые прилагаются вместе с оборудованием для работы беспроводной карты.

Содержание

  • 1 Установка NDISwrapper
    • 1.1 C установочного носителя
    • 1.2 Из репозитория
      • 1.2.1 Для ядра по умолчанию
      • 1.2.2 Для обновленного ядра
    • 1.3 Из исходников
  • 2 Приобретение Windows драйвера
    • 2.1 Находясь в Windows
    • 2.2 Находясь в Linux
    • 2.3 Из программного обеспечения
    • 2.4 Распределение нескольких *.inf файлов
  • 3 Установка драйвера
  • 4 USB WLAN флешка
  • 5 Настройка карты в YaST
  • 6 Потенциальные конфликты и проблемы
  • 7 Tакже cмотрите

Установка NDISwrapper

В дальнейшем будут приводиться консольные команды. Поэтому, чтобы не было недоразумений, уясните следующие команды для ввода:

$ command 
  • команда не требующая прав администратора и выполняется от обычного пользователя «$»
# command 
  • команда, требующая права администратора и выполняется от суперпользователя «#», но может выполняться из окружения обычного пользователя «$» с правами суперпользователя sudo, см. особенности

C установочного носителя

По умолчанию NDISwrapper включен в состав установочного CD/DVD носителя openSUSE.

Установите с помощью консольного менеджера пакетов zypper следующие пакеты:

# zypper in ndiswrapper ndiswrapper-kmp-`uname -r | cut -f3 -d"-"` wireless-tools 

или воспользуйтесь графическим инструментом YaST, установив следующие пакеты:

  • ndiswrapper
  • ndiswrapper-kmp-[default|desktop|pae|xen]
  • wireless-tools
  • где default|desktop|pae|xen — разновидность ядра, для выбора правильного значения части строки воспользуйтесь командой: uname -r

Из репозитория

Вы можете получить последнюю версию NDISwrapper, воспользовавшись репозиторием driver:/wireless.
В зависимости от версии openSUSE и используемого ядра необходимо добавить правильно выбранный репозиторий:

Для ядра по умолчанию

Если вы после установки openSUSE не обновляли ядро по умолчанию, то правильным выбором репозитория будет:

Для обновленного ядра

Если вы обновили ядро до последней версии из Update, то
правильным выбором будет:

После добавления соответствующего репозитория обновите его, cкачиванием метаданных и преобразование их в кэш:

# zypper ref 

Приступите к установке NDISwrapper:

# zypper in ndiswrapper ndiswrapper-kmp-`uname -r | cut -f3 -d"-"` wireless-tools 

После завершения установки, вы можете отключить репозиторий, выполнив:

# zypper mr -dR ndiswrapper

Из исходников

Вы также можете загрузить и скомпилировать последнюю версию с сайта Ndiswrapper .

Приобретение Windows драйвера

Вы можете определить необходимый драйвер для конкретного устройства, исходя из списка совместимости Ndiswrapper + вы можете воспользоваться Linuxant страницей, в которой есть драйвера, работающие с NDISwrapper, также на ней находятся некоторые 64-битные драйвера, которые не предлагаются на сайтах производителя.

Если вы используете 64-битное ядро Linux, то вам необходимо найти соответствующий 64-разрядный драйвер Windows (что несколько затруднительней найти, чем 32-битный драйвер Windows). Таким образом, если вы не сможете найти 64-битный драйвер Windows, тогда установите 32-битную версию openSUSE.

Поддержка NDIS 6 находится в стадии разработки и на данный момент не поддерживается NDISwrapper.

Находясь в Windows

Если у вас имеется двойная загрузка системы и ваша карта исправно работает в Windows, то одним из способов получения драйвера — это достать его из раздела установленной Windows. Помните, что разрядность имеет немаловажное значение.

Находясь в Windows, зайдите в Диспетчер устройств и в разделе » Сетевые адаптеры» найдите свою беспроводную карту. Щелкните правой клавишей на соответствующем устройстве и перейдите «Свойства->Драйвер->Сведения…» .Здесь вы найдете путь к файлу *.sys, как правило располагающийся по адресу C:\windows\system32\drivers\ .

Воспользуйтесь » Поиском» Windows, чтобы найти соответствующий *.inf файл, который является не более чем простым текстовым файлом с перечнем необходимых файлов драйвера. Таким образом, запрос поиска в Windows будет выглядеть так:

  • все файлы перечисленные в файле: *.inf
  • строчка в файле *.inf: путь до *.sys файла найденного выше
  • найти соответствующие файлы на: локальный диск C :\

Поиск может занять некоторое время! Когда вы нашли *.inf файл, загляните с помощью текстового редактора внутрь и уточните др. файлы необходимые для установки драйвера. вам повезет, если все файлы находятся в одном каталоге, например, C:\Program Files\Atheros\Drivers\. Скопируйте все эти файлы в определенное место, например, в папку раздела или на внешний USB жесткий диск, которые будут доступны в системе Linux.

Находясь в Linux

Этот способ менее извращенный и не требующий входа в Windows.

Определите тип вашего беспроводного устройства, выполнив:

$ /sbin/lspci -nn 

Найдите строчку информации, соответствующей вашему устройству, например:

04:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11b/g/n     
Wireless LAN Controller [14e4:4727] (rev 01) 

С помощью текстового редактора загляните в журнал сведений об установке драйверов Windows: /WINDOWS/setupapi.log или /WINDOWS/INF/setupapi.dev.log и найдите соответствующий *.inf файл устройства.

Например:

#I022 Found «PCI\VEN_14E4&DEV_4318&SUBSYS_1356103C» in C:\SWSetup\WLAN\bcmwl5a.inf;

Device: «Broadcom 802.11b/g WLAN»; Driver: «Broadcom 802.11b/g WLAN»; Provider: «Broadcom»;
Mfg: «Broadcom»; Section name: «BCM43XG2».

Для облегчения поиска соответствующих строчек воспользуйтесь значениями ID, выделенные выше красным, например, PCI\VEN_14E4 или используя ключевые фразы: Broadcom, WLAN и т.д.

Установите соответствующий драйвер, пройдя к разделу установка.

Из программного обеспечения

Существуют несколько мест, где можно попытаться найти драйвера. Ниже перечислены возможные варианты, в порядке предпочтения:

  • с помощью установочного носителя CD, поставляемом вместе с аппаратурой
  • с веб-сайта производителя вашего ПK или карты
  • по поиску вашего *.sys файла в Google

Если вам повезло, то вы с легкостью найдете правильный *.inf и связанные с ним файлы. В некоторых случаях необходимо распаковать *.cab или *.exe файл с драйверами. Для распаковки этих файлов воспользуйтесь консольной утилитой cabextract:

# zypper in cabextract 

Найдите и распакуйте *.cab или *.exe файл, например, в папку /tmp:

$ cabextract -d /tmp/driver/ *.cab 

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

Распределение нескольких *.inf файлов

Если вы обнаружили два или более *.inf файлов, каждый из которых предназначен для различных версий Windows, например: bcmwl5a.inf и bcmwl5.inf. Тогда загляните внутрь содержимого *.inf файла и обратите внимание на начало следующих строк:

[Version] 
Signature= "$Windows NT$"

Установка драйвера

Установите драйвер указав путь к *.inf файлу:

# /usr/sbin/ndiswrapper -i /путь/до/*.inf 

Совет: Вместо того, чтобы вводить абсолютный путь к файлу, вы может предпочтете изменить директорию, содержащую *.inf файл, перед тем, как запустить команду. Если путь к этой директории содержит пробелы, например, «Program Files», тогда воспользуйтесь обратным слешем \. Иногда для новичка сначала проще перейти в директорию, содержащую необходимый *.inf файл:

$ cd /путь/каталог\ с\ пробелами/*.inf файл 

Например:

$ cd /windows/C/Program\ Files/ 

После этого вы можете установить драйвер, указав только *.inf файл

# ndiswrapper -i filename.inf 

Если установка прошла хорошо, тогда удостоверьтесь в том, что драйвер был установлен корректно:

# /usr/sbin/ndiswrapper -l 

Если вы установили действительный/совместимый с Windows драйвер, то NDISwrapper покажет вроде этого:

<driver-name> : driver installed

device (xxxx:xxxx) present (alternate driver: <native-driver-name>)

  • где <driver-name> — показывает имя установленного драйвера NDISwrapper; <native-driver-name> — имя пересекающегося родного Linux драйвера.

Этот Linux драйвер возможно придется занести в черный список «blacklist», если он установлен и в настоящие время обнаружен в файле журналирования: /var/log/messages. Черный список предотвращает попытки управления устройством родным драйвером, что играет немаловажную роль в использовании NDISwrapper. Для занесения этого драйвера в черный список выполните:

# echo blacklist имя_драйвера > /etc/modprobe.d/ndiswrapper.conf 

Если же NDISwrapper сообщает «invalid driver», то необходимо удалить этот драйвер и попробовать другой.

Для удаления драйвера выполните:

# /usr/sbin/ndiswrapper -r <имя_драйвера> 

В качестве дополнительной проверки успешной установки драйвера соответствует наличие директории с именем драйвера:

$ cd /etc/ndiswrapper

USB WLAN флешка

Если у вас имеется USB WLAN флешка, тогда необходим дополнительный шаг, который следует сделать, чтобы установить драйвер, т.е. вы должны подсунуть NDISwrapper-у — VendorID и ProductID флешки с помощью опции «-d».

Посмотрите идентификатор устройства с помощью «Информация об оборудовании» в YaST или выполнив:

$ lsusb 

В результате вы узнаете ID устройства из четырех-символьных/цифр как, например, 168c и 0013.

Чтобы связать ID усройства с Ndiswrapper выполните:

# /usr/sbin/ndiswrapper -d xxxx:xxxx <имя_драйвера> 

Для просмотра успешной загрузки драйвера выполните:

$ dmesg | tail 

Если драйвер работает, то вы можете создать псевдоним «alias» NDISwrapper в /etc/modules.conf с помощью команды:

# /usr/sbin/ndiswrapper -m 

Загрузите модуль NDISwrapper:

# /sbin/modprobe ndiswrapper 

После этого вы можете настроить устройство с помощью Yast.

Настройка карты в YaST

Если у вас какие-то проблемы при обнаружении беспроводной карты в NetworkManager, тогда настройте сетевую карту исходя из нижеприведенных действий.

Вы не сможете редактировать сетевые настройки YaST, когда сеть контролируется с помощью NetworkManager.

Существуют много всевозможных конфигураций. Это только типичный пример:

  • Скриншоты руководства:
  • Вкладка «Общие параметры»

  • Вкладка «Обзор»

  • Параметры оборудования

  • Настройка сетевой карты

  • Настройка беспроводной карты

Пояснение:

  • Для начала разрешите управление сети традиционным методом ifup: YaST → Сетевые настройки → Общие параметры
  • Затем, чтобы начать конфигурацию сети перейдите в раздел вкладки «Обзор»
  • Выберите «Добавить» в нижней части окна
    • Тип устройства: «Беспроводной»
    • Название конфигурации: «0» (или любой другой)
    • Имя модуля: «ndiswrapper»
    • Параметры: оставьте пустыми в том числе и «PCMCIA», «USB»
    • … и, наконец, «Далее»
  • На следующем экране «Настройки сетевой карты» выберите версии динамического адреса и затем нажмите «Далее»
  • В разделе «Настройка беспроводной сетевой карты» оставляем настройки по умолчанию, т. е.:
    • Режим работы: «Управляемая»
    • Имя сети (ESSID): «» (оставьте пустым)
    • Метод аутентификации: «WEP-открытый»
    • Тип ввода ключа: «Контрольная фраза»
    • Ключ шифрования: «» (оставьте пустым)
    • … и, наконец, «Далее»
  • Если откроется менеджер паролей, укажите свой пароль
  • Проигнорируйте предупреждение «Не использовать шифрование — это риск безопасности»
  • Вернитесь в «Общие параметры» и выберите «Управляемый пользователем с NetworkManager»
  • … и, наконец, «OK»

Поздравления! Ваша карта настроена.

Теперь вы можете открыть NetworkManager и выбрать одну из найденных сетей.

Если Ваш SSID (имя беспроводной сети) не транслируется, тогда задайте самостоятельно, в параметрах NetworkManager.

Потенциальные конфликты и проблемы

Не загружается NDISwrapper, а при выполнении команды «lsmod|grep -i ndiswrapper» соответствующий модуль не отображается?

Загрузите модуль вручную:

# /sbin/modprobe -v ndiswrapper 

И если модуль загружается без ошибок, тогда перезапустите сеть:

# systemctl restart network.service

Для загрузки модуля во время загрузки системы, выполните:

# echo ndiswrapper > /etc/modules-load.d/ndiswrapper.conf

Не подключается к беспроводной сети с помощью NetworkManager?

Подключитесь с помощью YaST, выбрав при этом «традиционный метод ifup» и присвоев статические настройки интерфейса ( IP-адрес, шифрование, метод аутентификации и т. д.).

Tакже cмотрите

  • WiFi_HOWTO
  • Broadcom_Bcm43xx

Содержание

  1. Установка драйверов в Linux
  2. Как драйвера устройств работают в Windows
  3. Как работают драйвера Linux
  4. Установка проприетарных драйверов Linux
  5. Установка прошивок в Linux
  6. Как установить драйверы для принтера в Linux
  7. Как заставить работать другое программное обеспечение
  8. Выводы
  9. Турбо-перенос драйверов из Windows в LINUX/BSD
  10. турбо-перенос драйверов из Windows в LINUX/BSD
  11. введение
  12. виртуальные машины
  13. два в одном
  14. готовый пример реализации или спроектировать — означает украсть
  15. заключение
  16. Добавление драйвера устройства в Linux
  17. Способы установки драйверов
  18. Ручная установка драйвера
  19. Использование нового драйвера

Установка драйверов в Linux

В Windows мы привыкли, что перед тем, как новое оборудование будет работать, для него необходимо установить драйвера. Не важно будет ли это USB устройство, веб-камера или видеокарта. Драйвера в Windows выпускаются производителями и распространяются через интернет или на диске в комплекте с оборудованием.

В Linux, драйвера тоже необходимы, но ситуация состоит с ними немного по-другому. Здесь все свободные драйвера Linux встроены в ядро и если ваше оборудование будет работать с этой операционной системой, то, скорее всего, оно будет работать из коробки. Свободные драйвера разрабатываются производителями оборудования или же независимыми разработчиками. Также производители могут не открывать код своих драйверов, тогда они считаются проприетарными и не включаются в ядро, а доустанавливаются вручную.

Давайте рассмотрим подробнее работу с драйверами linux и Windows.

Как драйвера устройств работают в Windows

Windows может немного в этом помочь и установить большинство драйверов от производителей через центр обновления Windows. При подключении устройства к компьютеру Windows вы увидите сообщение «Установка драйвера». Windows определяет производителя, ищет драйвер на серверах Microsoft и загружает его на ваш компьютер. Microsoft не пишут драйвера самостоятельно, они получают их от производителей и предоставляют вам, как только они понадобятся.

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

Как работают драйвера Linux

Это значит, что большинство доступных для linux драйверов уже установлены на вашем компьютере, включены вместе с ядром, в виде модулей ядра или вместе с графическим сервером или сервером печати. Установка драйверов Linux почти не нужна. Драйвера в Linux разработаны, в основном, энтузиастами, но иногда их выпускают сами производители оборудования, которые вносят свой вклад в развитие ядра Linux и других проектов, например, это Intel, AMD, а также другие, более мелкие производители.

Установка проприетарных драйверов Linux

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

Чаще всего нам приходится сталкиваться с проприетарными драйверами для видеокарт, например, для NVIDIA, которые обеспечивают лучшую производительность в играх на Linux. Конечно, есть драйверы ядра Linux с открытым исходным кодом, которые заставят вашу видеокарту работать, но они не могут обеспечить достаточный уровень производительности в 3D играх. Некоторые драйвера wifi по прежнему закрыты, поэтому ваше оборудование не будет работать пока вы их не установите.

Установка прошивок в Linux

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

Чтобы установить прошивки в Linux необходимо скачать и установить пакет linux-firmware, это можно сделать с помощью следующей команды в Ubuntu:

sudo apt install linux-firmware

А в RPM дистрибутивах:

sudo yum install linux-firmware

Также возможно придется установить другие прошивки. Чтобы посмотреть подробнее, что нужно, и как установить, посмотрите лог ядра dmesg.

Как установить драйверы для принтера в Linux

Вы также можете попытаться определить принтер по описанию PostScript или PPD файла. Эти файлы часто входят в состав драйвера принтера для Windows и вы можете найти PPD файл, который сделает работу вашего принтера лучше. Файл PPD можно выбрать в процессе работы CUPS.

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

Как заставить работать другое программное обеспечение

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

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

Выводы

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

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

Источник

Турбо-перенос драйверов из Windows в LINUX/BSD

турбо-перенос драйверов из Windows в LINUX/BSD

крис касперски ака мыщъх

главный недостаток UNIX-подобных систем — отсутствие нормальных драйверов под кучу «вкусного» оборудование, с которым Windows справляется без проблем. на самом деле, проблему можно решить и эта статья рассказывает как.

введение

Несколько лет назад ситуация с драйверами под LINUX и BSD была просто катастрофической. Поддерживалось лишь некоторое оборудование и железо для UNIX-машин приходилось закупать отдельно. Тогда LINUX еще не вышла из стадии «конструктора» для хакеров, а BSD в основном использовалась на серверах, все оборудование которых сводилось к сетевой карте и SCSI-контроллеру. Так что основой массе пользователей жаловаться не приходилось.

На домашних и «десктопных» компьютерах ситуация совсем иная. Тут и сканеры, и мультимедиа, и конечно же видео-карты, издавна славящееся отсутствием общих стандартов и пестротой know-how. Производители железа в основном ориентируются на Windows и крайне неохотно вкладывают деньги в другие системы, поскольку они приносят одни убытки. Разработка и тестирование драйверов — удовольствие не из дешевых, а парк UNIX-машин очень маленький (несколько процентов от общего числа, если не меньше) и к тому же очень разобщенный, следовательно рыночная доля каждой из осей становится еще меньше и «подобрать» ее к рукам могут только очень крупные производители такие, например, как nVIDIA, продающие миллионы видео-карт, среди которых и пара процентов становится вполне ощутимой величиной.

Часто приходится слышать о большой армии энтузиастов, дизассемблирующих Windows-драйвера (а откуда еще взять информацию? техническая документация ведь не всегда доступна) и переписывающих их под LINUX или BSD. Как говорится, «есть хакеры в русский селениях, в горящий компьютер войдут, драйвер напишут и Гейтсу хвост оторвут», но. этих энтузиастов не так уж и много. Разнотипного оборудования гораздо больше, тем более что сплошь и рядом приходится сталкиваться с ситуацией, что на компьютере энтузиаста драйвер работает, а на моем нет, хотя оборудования у нас вроде бы одинаковое. Драйвер мало написать, его еще нужно отладить, протестировать на большом количестве конфигурацией и сопровождать, иначе это будет не драйвер, а просто игрушка. Все это требует затрат времени и если драйвер создается не для коммерческой выгоды, а «под себя», то его надежность и совместимость оставляют желать лучшего.

Составители дистрибутивов проделывают огромную работу, собирая различные драйвера и закатывая их на диск, примерно так же как закатывают хамсу или кильку. Закинули невод, вытащили рыбку и кинули в банку. Пускай едят! Качество тестирования таких драйверов очень невелико и даже если в списке поддерживаемого оборудования значится такое-то железо, никаких гарантий, что оно заработает у нас нет. Может быть, подойдет драйвер от другой модели, а может быть ничего не подойдет вообще! А ведь без драйверов сидеть хреново. Ни каменный топор обтесать, ни огонь развести. Компьютер слегка греет, если развернуть его вентилятором вперед, но это как-то не то.

виртуальные машины

Прежде чем ставить LINUX/BSD задумаетесь — а зачем вам, собственно, все это нужно? Если просто хотите пощупать альтернативную систему, освоить средства разработки или компилировать исходные тексты, но наилучшим выбором будет виртуальная машина такая как, например, VM Ware. Fedora Core на ней, конечно жутко тормозит (на P-III 733 работать вообще невозможно), но Debian с KDE идет вполне нормально. Хочешь — разрабатывай программы, хочешь — читай man’ы. Еще и в игры типа Star Wars можно поиграть. Никаких драйверов в этом случае не потребуется, в смысле «никаких драйверов сверх того, что есть в любом нормальном дистрибутиве». Большинство разработчиков именно так и поступают. Как ни крути, а любой уважающий себя UNIX-программист вынужден держать на компьютере десяток осей различных пород, чтобы тестировать свои программы на совместимость. На «живом» компьютере переключения между ними происходят только через перезагрузку, что не есть хорошо, а виртуальные машины переключаются как карусель (главное памяти побольше иметь!).

Рисунок 1 виртуальная Windows-машина, работающая под управлением LINUX

Можно поступить и наоборот. Установить LINUX/BSD как базовую систему, а Windows водрузить на виртуальную машину. Поскольку VMWare дает прямой доступ к COM/LPT/USB портам, то подключение сканера/принтера/цифровой камеры к вашей машине уже не станет проблемой. С ней будет работать Windows! Базовая UNIX-машина в этом случае получает в свое распоряжение все системные ресурсы и падения производительности уже не происходит, но появляются другие проблемы. Windows-приложения (например, игрушки) будут либо сильно тормозить, либо откажутся запускаться совсем, к тому же со всеми остальными типами устройств, например, интегрированной WLAN платой или видео-картой, Windows работать не сможет. А все потому, что VMWare представляет собой закрытый ящик, отгороженный от базовой операционной системы толстой стеной эмулятора. Вот если бы существовала возможность предоставить виртуальной машине полный доступ ко всему физическому оборудованию, вот тогда бы. Готовьтесь! Именно такой способ мы и собираемся описать!

Рисунок 2 виртуальная LINUX-машина, работающая под управлением Windows

два в одном

Начнем с простого, но до сих пор никем не решенного вопроса, то есть уже давно решенного, конечно, но совсем не так. Известно, что поддержка NTFS-разделов представляет собой сплошную проблему. Драйвера, научившиеся писать на NTFS-раздел, появились совсем недавно, да и то лишь затем, чтобы покрасоваться на выставках. Для реальной работы они не пригодны, потому что не очень стабильно работают и несут на своем горбу кучу ограничений. Сжатые файлы, транзакции и куча других вещей все еще не поддерживается. К тому же, NTFS не стоит на месте и хоть и медленно, но совершенствуется, в смысле видоизменяется. Можно ли, хотя бы теоретически, написать 100% совместимый драйвер, «переваривающий» новые версии NTFS без участия программиста? Вопрос совсем не так глуп, каким кажется. Для чего нам горбатиться над своим собственным драйвером, когда под рукой есть уже готовый — NTFS. SYS. Если мы сумеем заставить его заработать под LINUX’ом, все проблемы решатся сами собой.

Вот только не надо кричать, что я ни хрена не разбираюсь в программировании и что на уровне ядра LINUX/BSD отличается от Windows так же, как слонопотам от крокодила. Да, различий очень много, но что-то общее между ними все-таки есть. И Windows, и LINUX, и BSD работают на x86-процессорах в защищенном режиме, используют страничную организацию виртуальной памяти, и взаимодействуют с оборудованием в строго установленном порядке (через иерархию физических и виртуальных шин). Высокоуровневые драйвера такие, например, как NTFS. SYS вообще не касаются оборудования и содержат минимум системно-зависимого кода. Почему же тогда драйвер от одной системы не работает в другой? Главным образом, потому что интерфейс между осью и драйвером в каждом случае различен и еще потому, что драйвер использует библиотеку функций, экспортируемых системой и эти функции у каждой системы свои.

Перенести Windows-драйвер в LINUX/BSD вполне реально! Для этого даже не потребуется его исходный код. Достаточно лишь написать тонкий и несложный «переходник» между драйвером и операционной системой, принимающий запросы и транслирующий их по всем правилами «этикета», а так же перетащить библиотеку функций, необходимых драйверу для работы. О, да! — для этого необходимо уметь программировать! Для простых смертных пользователей такой рецепт совершенно не годится, но тут уже ничего не попишешь. Тем не менее, перенести готовый драйвер намного проще, чем переписать его с нуля. Как минимум не потребуется проводить кропотливую работу по дизассемблированию оригинального кода, заменяющую собой поиск технической документации (которая либо совсем отсутствует, либо отдается только под подписку о неразглашении, зачастую запрещающее открытое распространение исходных текстов). К тому же, при выходе новых версий Windows-драйвера, процедура обновления LINUX/BSD порта существенно обновляется, просто скопировал поверх старого файла и все. Однако, все это теория. Перейдем к деталям.

Ядерная модель Windows NT и всех производных от нее операционных систем (как-то Windows 2000, XP, 2003, Longhorn) достаточно проста. С «внешним» миром ядро связывает Диспетчер Системных Сервисов, «подключенный» к NTDLL. DLL, которая находится уже за «скорлупой» ядра и исполняется в пользовательском режиме. Диспетчер системных сервисов, реализованный в NTOSKRNL. EXE, опирается на Вызываемые Интерфейсы Ядра, часть которых реализована внутри самого NTOSKRNL. EXE, а часть — во внешних драйверах, к числу которых в частности принадлежит диспетчер электропитания. Определенный класс драйверов, называемый Драйверами Устройств и файловой системы, находится в своеобразной «скорлупе» и взаимодействует с диспетчером системных вызовов через диспетчер ввода-вывода реализованный опять-таки в NTOSKRNL. EXE!

Рисунок 3 Windows NT изнутри

Ядро на котором как на фундаменте держаться все вышеупомянутые компоненты представляет собой просто совокупность низкоуровневых функций, сосредоточенных. правильно! В NTOSKRNL. EXE! Ниже находится только слой абстрагирования от оборудования или сокращенно HAL (Hardware Abstraction Level). Когда-то у Microsoft была идея разделить ядро на системно-зависимую и системно-независимую часть, чтобы упростить перенос Windows на другие платформы, но уже во времена NT 4.x все перемешалось и большая часть системно-зависимых функций попала в NTOSKRNL. EXE, а ныне HAL медленно, но неотвратимо умирает. В нем осталось небольшое количество действительно низкоуровневых функций, непосредственно взаимодействующих с оборудованием. В частности, с портами и с DMA. Но в ядре LINUX/BSD есть свои функции для работы с DMA, так что тащить за собой HAL нам совершенно необязательно, тем более что драйвера взаимодействуют с DMA не напрямую, а через Plug-a-Pray менеджер, который находится в NTOSKRNL. EXE.

Что же касается портов ввода-вывода, то это вообще смех. Вот так, например, выглядит дизассемблерный текст функции READ_PORT_UCHAR, читающий из данного порта беззнаковый байт.

.text:80015A2C public READ_PORT_UCHAR

.text:80015A2C READ_PORT_UCHAR proc near ; CODE XREF: HalGetEnvironmentVariable+2C↑p

.text:80015A2C arg_0 = dword ptr 4

.text:80015A2C xor eax, eax

.text:80015A2E mov edx, [esp+arg_0]

.text:80015A32 in al, dx

.text:80015A33 retn 4

.text:80015A33 READ_PORT_UCHAR endp

Листинг 1 дизассемблерный листинг функции READ_PORT_UCHAR, выдернутой из HAL’a

Таким образом, если заставить NTOSKRNL. EXE работать в среде чужеродного ему LINUX’а (или BSD), мы получим возможность запускать любые NT-драйвера без какой-либо доработки их двоичного кода. Это не только упрощает задачу переноса, но и снимает проблему так называемых «авторских прав», от которых меня уже блевать тянет. У нас на них можно в принципе и забить, послав Била к черту, но не известно сработает ли это заклинание лет эдак через пять. Интеграция с Европой идет полным ходом, Третий Рим (известный под логотипом U. S.A) рвется в заснеженные леса России, всюду устанавливая свои порядки и законы. Любой обладатель лицензионной копии Windows (или другой программы) вправе вызывать готовый драйвер откуда угодно без каких бы то ни было разрешений и без выплаты дополнительного вознаграждения, но модифицировать двоичный код ему позволят едва ли.

Но мы ведь и не собираемся ничего модифицировать! Мы берем готовый NTOSKRNL. EXE и. Собственно, это все. Работы предстоит не так уж и много. Достаточно просто спроецировать его по адресам, указанным в заголовке PE-файла (а NTOSKRNL. EXE это обычный PE-Файл) и разобраться с таблицей экспорта, используемой драйверами. Короче говоря, мы должны реализовать свой собственный PE-загрузчик и заснуть его в загружаемый модуль ядра или в само ядро. Чтобы не мучаться, можно хлебнуть вина и содрать готовый загрузчик оттуда. Нет, это не спиртной напиток (хакеры предпочитают пиво), это эмулятор Windows’а такой. Он так и называется Wine (Windows Emulator).

Взаимодействие NTOSKRNL. EXE с LINUX/BSD ядром будет происходить через переходной код, эмулирующий HAL. Этот код мы будем должны написать сами, однако, ничего сложного в этом нет и объем работы предстоит минимальный, поскольку HAL содержит немного функций, да и те простые как самовар. Сложнее подружить диспетчер системных вызовов в внешним миром, то есть миром LINUX/BSD. Основная проблема в том, что интерфейс Диспетчера ни хрена не документирован и к тому же подвержен постоянным изменениям. В Windows 2000 он один, в Windows XP он другой, а потом Microsoft вновь придумает новую пакость и вся наша работа полетит к черту. Поэтому, приходится хитрить и тащить за собой не только NTOSKRNL. EXE, но еще и NTDLL. DLL. Некоторые могут спросить: а на фига, собствеено? Какое отношение NTDLL. DLL имеет к драйверам и ядру? Драйвера его не вызывают, да и сам NTDLL. DLL представляет собой всего лишь набор переходников к NTOSKRNL. EXE.

Так ведь тут-то и зарыта собака (да вы ее помните, ну там самая которая съела кусок мяса)! Интерфейс NTDLL. DLL худо бедно документирован и остается практически неизменным уже на протяжении многих лет, поэтому, его смело можно брать за основу. После этого остается «всего лишь» связать NTDLL. DLL с миром LINUX/BSD, то есть написать транслятор запросов к драйверам. Это не так-то просто сделать, поскольку писать придется достаточно много и работа отнимет не один день и даже не одну неделю, а с учетом отладки потребуется как минимум месяц. Но работа стоит того.

По крайней мере, в LINUX/BSD наладится нормальная работа с NTFS и некоторыми другими драйверами ввода-вывода. С видео-картами, правда, все значительно сложнее, поскольку они, как и следует из рис. 3, взаимодействуют отнюдь не с Диспетчером ввода-вывода (который находятся внутри NTOSKRNL. EXE), а с подсистемой win32. В Winnows 2000 она реализована в файле win2k. sys. Как обстоят дела в других системах — не знаю, да это и не важно. Драйвер win2k. sys — лишь малая часть того, что ему нужно для работы и просто так перетащить в LINUX/BSD его не получится. За ним неизбежно потянется все его окружение и написать столько «оберток» будет практически нереально. То есть, реально конечно, но сколько это потребует времени и сил? Переписать видео-драйвер гораздо проще, не говоря уже о том, что в этом случае он будет намного более производителен. Кстати говоря, компании NVIDIA и ATI в последнее время наладили выпуск LINUX/BSD драйверов под наиболее популярные чипсеты, так что проблема снимается сама собой.

Рисунок 4 видео-драйвера под LINUX x86 и x86-64, от ATI

Рисунок 5 видео-драйвера для LINUX x86, x86-64, IA64, FreeBSD x86 и Solaris x86/x64 от NVIDIA

готовый пример реализации
или спроектировать — означает украсть

Конкретные переносы драйверов из мира Windows в LINUX/BSD мне неизвестны, однако, под MS-DOS кажется есть что-то похожее. Речь идет о проекте Марка Руссиновича «NTFS for MS-DOS» — известного хакера и исследования недр NT. Бесплатная версия (http://www. /Utilities/NtfsDosProfessional. html) может только читать, а платную легко найти в Осле. Специальный мастер установки просит указать путь к системному каталогу Windows и создает две дискеты, на которые ожесточенно записывает что-то тяжелое. Давайте посмотрим, что именно:

30.10.2005 19:01 904 414 NTOSKRNL. gz

11.02.2002 09:39 89 472 ntfspro. exe

30.10.2005 19:00 314 665 NTFS. gz

30.10.2005 19:01 1 403 C_866.gz

4 файлов 1 309 954 байт

0 папок 146 944 байт свободно

Рисунок 6 содержимое первой дискеты NTFS for MS-DOS

30.10.2005 19:03 212 681 AUTOCHK. gz

30.10.2005 19:04 219 099 NTDLL. gz

30.10.2005 19:04 1 633 C_437.gz

30.10.2005 19:04 1 467 C_1252.gz

30.10.2005 19:04 746 L_INTL. gz

08.02.2002 10:45 56 748 ntfschk. exe

6 файлов 492 374 байт

0 папок 964 096 байт свободно

Рисунок 7 содержимое второй дискеты NTFS for MS-DOS

Начнем с первой дискеты (которая, кстати говоря, обычно бывает системной, поскольку NTFS for MS-DOS работает только из-под белого листа, то есть я хотел сказать «черного экрана», однако, для наглядности все системные файлы удаленны). Здесь находится только один исполняемый файл «ntfspro. exe», представляющий собой транслятор запросов слинкованный с расширением защищенного режима «WDOSX 0.96 DOS extender» от Michael Tippach (*****@***com).

«NTFS. gz» – это «родной» NTFS. SYS драйвер, вытащенный из системного каталога Windows и для экономии места упакованный архиватором gzip. Для распаковки нам потребуется либо LINUX, либо pkzip для Windows/MS-DOS. Сравнив его с оригинальным файлом драйвера, мы не найдем никаких изменений! «NTOSKRNL. gz» – это ядро системы (NTOSKRNL. EXE), точно так же вытащенное и упакованное. Никаких изменений в нем нет.

На другой дискете находится «NTDLL. gz» (о происхождении которого догадаться нетрудно) и ntfschk. exe. Последний представляет собой полностью переписанный вариант штатной утили «chkdsk. exe», поскольку чтобы заставить консольное приложение заработать в MS-DOS пришлось бы эмулировать еще множество функций, что в планы Руссиновича очевидно не входило (тем не менее, легендарный хакер Юрий Харон все-таки создал расширитель, способный запускать Windows-приложения из под голого ДОС’а, без обращения к Windows вообще! Все умещается на одну дискетку, — красота! Сам расширитель можно скачать с http://www. doswin32.com. Для некоммерческого применения он бесплатен).

Еще на дискетах содержатся файлы C_866.gz, AUTOCHK. gz, C_437.gz, C_1252.gz, L_INTL. gz содержащие языковые страницы и прочую служебную мишуру, без которой можно в принципе и обойтись.

Суть в том, что ядро проекта «NTFS for MS-DOS» составляют три файла: NTOSKRNL. EXE, NTDLL. DLL и NTFS. SYS, которые помещаются в своеобразную скорлупу файла NTFSPRO. EXE, переводящего процессор в защищенный режим и транслирующего MS-DOS-запросы в «язык», понятный NTFS. SYS и наоборот. Как видите, это работает. Конечно, LINUX/BSD это совсем не чистая MS-DOS. Ядро по своему распределят прерывания и другие системные ресурсы, поэтому при написании «скорлупы-оболочки» возникает множество технических проблем, но все они решаемы. Пример аналогичного решения можно найти в другом проекте Марка Руссиновича «NTFS for Windows 9x». Здесь так же используется «скорлупа», создающая адекватное окружения для NTOSKRNL. EXE и транслятор запросов, но она уже работает совсем не в голой MS-DOS, с которой все и так ясно, а в агрессивной Windows 9x, которая отличается от NT ничуть не меньше, чем LINIX/BSD.

заключение

Источник

Добавление драйвера устройства в Linux

Обычно в системах Unix и Linux установка драйверов для новых устройств не вызывает трудностей. Даже для неопытных пользователей этих систем. Но это в том случае, если производители устройства (и/или разработчики драйверов) позаботились об этом. И оснастили пакет драйвера специальными установочными и конфигурационными скриптами. А также протестировали всё это в нескольких системах. Однако бывают случаи, когда «удобной» возможности установить драйвер устройства нет, но есть исходные коды драйвера. В таком случае можно попытаться собрать драйвер самостоятельно. Конечно, это далеко не так просто, нужно поэкспериментировать. Но успешный результат возможен с высокой вероятностью. И главное, что для этого требуется — это знать и понимать общий порядок действий в случае ручной сборки драйвера. С такими задачами часто сталкиваются администраторы систем, обслуживающих технологические процессы на производствах, хостинг-площадки и т. д.

Способы установки драйверов

Для Linux-систем установка драйверов устройств происходит тремя основными способами:

Надо признать, что для Linux ручная установка драйверов представляет собой довольно сложную и трудоёмкую работу. Поэтому разработчики стремятся всё чаще обеспечивать автоматическую установку и настройку для своих драйверов/устройств. Ведь они заинтересованы в максимально эффективном распространении своих разработок. По этой причине самым распространённым способом установки драйверов является использование сценариев установки. Для самых популярных типов устройств, например для видеокарт, аудиоустройств и даже для сетевого оборудования в настоящее время трудно найти драйверы без автоматической установки.Установка таких драйверов ничем не отличается от установки обычных пакетов. Вся инструкция описана в файле README, подробнее об установке из исходников читайте здесь.

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

Если в качестве драйвера используются патчи ядра, то установить их (собственно и сам драйвер) можно выполнив следующие команды:

Расположение «каталог_исходных_кодов_ядра» зависит от системы, в CentOS это /usr/lib/modules/ /kernel, Например

В случае с ручной установкой, необходимо для начала интегрировать драйвер некоего устройства (исходные коды) в дерево каталогов исходных кодов ядра.

Ручная установка драйвера

Для примера, пусть требуется добавить в ядро драйвер некоего сетевого устройства netdevice. Драйвер этого устройства нужно (как уже известно) поместить в один из каталогов с исходными кодами ядра. А именно — в каталог drivers, внутри которого может быть следующее содержимое:

Драйверы чаще всего помещаются в подкаталоги scsi, char, block, net, а также sound и usb. Эти подкаталоги отражают схему размещения драйверов в зависимости от их типа: блочные — для дисков IDE, символьные — для последовательных портов например, для сетевых устройств, звуковых плат и USB-устройств — USB-адаптеры, USB-модемы и т. д. Другие подкаталоги служат для размещения драйверов других категорий, в частности для системных и разного рода шин (pci, pcie, nubus, zorro), а также для платформенно-зависимых драйверов — acorn, macintosh.

Таким образом, драйверы для сетевого устройства netdevice следует поместить в следующий каталог:

Исходные коды драйвера представляют собой набор файлов *.c, *.cpp и *.h, которые могут быть объединены в дерево каталогов, в зависимости от того, как составлен проект «исходников» драйвера.

Теперь необходимо включить исходные коды драйвера netdevice в процесс компиляции ядра. Для этого нужно отредактировать следующие файлы:

Файлы Makefile и Kconfig содержатся в каждом каталоге дерева каталогов с исходными кодами ядра Linux. Это необходимо для организации универсальной разработки и расширения функционала и возможностей ядра при его сборке из исходных кодов путём независимого дополнения новым кодом. В данном случае кодом драйвера для устройства netdevice.

В файл Makefile следует добавить следующий код:

Таким образом, при сборке ядра в его составе будет собран и сам драйвер netdevice. После дополнения файла Kconfig следующим кодом:

устройство netdevice будет доступно для использования конфигурационным макросом (необходимо на этапе конфигурирования сборки ядра). Здесь команда config использует ключевое слово NETDEVICE_DEV, которое обязательно должно совпадать с фразой, следующей после CONFIG, которое ранее было указано в файле Makefile.

Команда tristate указывает, что драйвер может быть собран как загружаемый модуль, если это поддерживается. Если нет, то вместо tristate следует указать bool – драйвер будет частью ядра. Фраза ‘Netdevice support’ будет отображаться в выводе конфигурационного скрипта на этапе конфигурирования сборки ядра. Это может быть любой текст, идентифицирующий устройство, для которого добавляется драйвер.

Использование нового драйвера

В современных версиях ядра Linux задействование новых драйверов существенно упрощено. В отличие версий, выпущенных раньше 2.6. Тогда это было настоящей головоломкой и требовало знаний в программировании. Но архитектурные изменения в модели драйверов и устройств, пришедшие в версии 2.6 позволяют теперь связывать драйверы с ядром на более высоком «общепользовательском» уровне. Для этого используется специальный конфигурационный макрос MODULE_DEVICE_TABLE. Он создаёт соответствия, которые позволяют утилите modprobe (и ей подобным) задействовать новые драйверы ядра.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Экстрасенсы в отпуске, поэтому модель звуковой карты тебе придётся назвать, если хочешь получить хоть какой-то полезный ответ.

Xenius ★★★★★
()

  • Показать ответ
  • Ссылка

что делать?

Назвать модель звуковой карты, показать вывод

и вывод

если это USB звуковая карта.

В последнем случае, если драйверы под Linux не будут найдены, то ставьте VirtualBox, в него Windows, пробрасывайте туда USB звуковую карту и слушайте звук там.

kostik87 ★★★★★
()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от Xenius

Звуковуха встроена в мою материнку (Albatron PX915PC Pro-G) Самый стабильный драйвер Realtek High Definition Driver 5.10.0.5024

Deleted
()

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от kostik87

PCI тоже можно пробрасывать, если железо не совсем старое.

anonymous
()

  • Ссылка

Ответ на:

комментарий
от Deleted

Реалтек должен работать из коробки сразу. Не слишком старый какой нибудь дистрибутив ставишь?

anonymous
()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от anonymous

Ага, из коробки ставится не рабочая хрень, последний раз драйвер выходил в далеком 2004

Deleted
()

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от Deleted

Показывай вывод lspci.

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

Для твоей карты, скорее всего есть драйвер и он уже работает.

А у тебя, просто в alsamixer выкручены вниз уровни громкости или стоит mute на канале вывода звука, ну либо в pulseaudio всё выкручено вниз.

Показывай вывод:

Для помещения на форум выводов команд используй тег [code][/code]

Будет выглядеть как в моём сообщении.

Предварительно используй кнопку «Предпросмотр» перед помещением сообщения.

kostik87 ★★★★★
()

  • Ссылка

Ответ на:

комментарий
от Deleted

Значит он есть в ядре. Проверяй, у тебя, скорее всего, просто уровни громкости в самом низу, либо просто отключен канал вывода звука, либо, если есть видео карта с HDMI, либо ещё одна звуковая карта, то выбрана не эта карта для вывода звука.

kostik87 ★★★★★
()

  • Ссылка

Ответ на:

комментарий
от Deleted

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

  • Ссылка

Ответ на:

Проверяйте
от anonymous

kernel 3.16

anonymous
()

  • Ссылка

Ответ на:

комментарий
от Deleted

2004

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

anonymous
()

  • Показать ответы
  • Ссылка

Еще драйвер может быть в блэклисте modprobe, я c ac97 так долго без звука сидел

annulen ★★★★★
()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от annulen

Давайте гадать, сейчас только гущу разведу.

Пока ТС не приведёт данных об звуковой карте всё это лишено смысла. :)

kostik87 ★★★★★
()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от kostik87

Lubuntu

pactl list cards

  • Ссылка

Ответ на:

комментарий
от redgremlin

Не знаю, в этом ли проблема или нет, но вот в этой теме (https://forums.gentoo.org/viewtopic-t-985856-start-0.html) описывается вот такое решение:

Both of these threads are well worth studying if you have a similar problem. In my case, as soon as I entered:

rmmod snd_hda_intel 
modprobe snd_hda_intel model=3stack

the speaker would pop as the pcm devices in /dev/snd/ were created and the sound card was initialized.

The long term solution was to add:

# to allow hda-intel to intialize properly with newer kernel 
options snd_hda_intel model=3stack

to /etc/modprobe.d/alsa.conf (or any other file ending in .conf in the /etc/modprobe.d directory.

I post this in the hope that others might find the solution helpful.

Возможно, ТС не поможет, но если звукового устройства действительно нет, то может попробовать такой вариант.

kostik87 ★★★★★
()

  • Ссылка

что делать?

Вдоль. /thread

Deleted
()

  • Ссылка

Ответ на:

комментарий
от Deleted

Ответ на:

комментарий
от kostik87

Переустановил ось, установил обновления и звук запахал

Deleted
()

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от Deleted

Ответ на:

комментарий
от FluffyPillow

Всё лучше, чем имитировать мыслительный процесс нытьём на лоре.

anonymous
()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от Deleted

трушиндоузвэй

Deleted
()

  • Ссылка

Если линукс твой любимый, а звуковуха — нелюбимая, поменяй звуковуху на совместимую с любимым линухом.

Infra_HDC ★★★★★
()

  • Ссылка

сколько было установлено систем одному богу известно и никогда меня не волновало чего там со звуком

# apt install alsa-utils
# alsactl init

и все сразу взлетает — регулировка через

amd_amd ★★★★★
()



Последнее исправление: amd_amd
(всего

исправлений: 1)

  • Ссылка

Ответ на:

комментарий
от anonymous

Почему это? Как мне доказать, что я переустановил ось?

Deleted
()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от Deleted

Как мне доказать

Зачем?

i-rinat ★★★★★
()

  • Ссылка

Ответ на:

комментарий
от anonymous

Если звука нет из коробки, то его не будет.

Можно ещё драйвер самому написать.

i-rinat ★★★★★
()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от anonymous

Однако же, неосиляция. тоже, было, как то поопускал руки с усб-звуковухой 5.1, но арчвики всё таки ткнуло меня носом в asoundrc и asound.conf и он всё таки появился.

burato ★★★★★
()

  • Ссылка

Ответ на:

комментарий
от i-rinat

У меня все о так из коробки завелось.
Просто в прошлый раз не работал звук из коробки.
Акронисом восстанавливал половину основного диска о все ук чертям полетело, пришлось переустановил ось, переустановил о все заработало

Deleted
()

  • Ссылка

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

Сергей

@butteff

Раз в тысячу лет заправляю свитер в носки

Есть ТВ-тюнер Asus My Cinema US1-100/P/FM/RC
Но я не могу найти линукс драйверов к нему. Может в теории как-то возможно установить их, взяв за основу windows драйвера?


  • Вопрос задан

  • 5851 просмотр

Пригласить эксперта

Конечно можно если они написаны на С и в исходниках.
Вероятность этого стремится к 0

Пробросить в виртуалку с виндой и смотреть, записывать в ней

Многократно написанное в ответах «Нет» — это первое, что приходит на ум … «на хлопський розум» ;-)
Это неверно.
Ответ: «Да», есть способы использовать непосредственно драйверы Windows: Wi-Fi свистки — но это всегда «как повезёт».
Можно пробовать.

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


  • Показать ещё
    Загружается…

Минуточку внимания

Network card and Tux

There are more and more drivers or hardware controllers for GNU / Linux distributions, but there may still be some components that lack specific drivers and do not work on our computer. There is a tool that is not current, but has taken a long time but perhaps it is not known so much, which is called ndiswrapper and is used to install Windows drivers in Linux.

Although it seems strange to you if you did not know her, it is possible to do this. Basically ndiswrapper transforms the drivers built to be installed in Windows into a driver ready to be functional in Linux, although this is not recommended and it can give problems, for certain extreme cases it can be very practical and avoid more than one problem with the compatibility of our components.

Specifically, what ndiswrapper allows is to use network card drivers that have been created for Windows and under its API, to encapsulate them in such a way that it can work with the Linux kernel. You can install it on your distro from the repositories, downloading it from the web or with tools like aptitude, from the sources, etc. Once installed we can take network card drivers for Microsoft Windows and look for the .inf file that is included in these.

Then with the .inf file In our distro, we execute the following command, which will create by default a file /etc/modprobe.d/ndiswrapper with the alias that will relate to the drivers. This could cause problems if we already have another card with the same name, so it would have to be modified. Once done the following should work:

ndiswrapper -i nombre_driver.inf

ndiswrapper -m

modprobe ndiswrapper

We can see the drivers installed with:

ndiswrapper -l

Or delete the controller if it does not work or is not correct:

ndiswrapper -r nombre_driver

Just as there is ndiswrapper for network card drivers, there are also other tools for other types of hardware that perform the same function, using closed Windows drivers to be installed in our Linux distro. Another example would be Envyng, in this case for NVIDIA and ATI / AMD GPUs, although this is currently stupid considering that there are both free and private drivers for Linux for these cards …

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Готовая загрузочная флешка windows 7 10 с утилитами стрелец
  • Lazymedia deluxe 4pda windows
  • Ubuntu зайти в сетевую папку windows
  • Драйвер hp deskjet 6122 для windows 7
  • Включить icmp windows server