vasek |
|
Темы:
47
Сообщения:
11933
Участник с: 17 февраля 2013
|
Вообще то довольно странно и не понятно, но само по себе все это интересно и познавательно даже для ликбеза, но инфы слишком мало, одни предположения. Попробую ПРОСТО порасуждать … при это безусловно возможны и ошибки и не точности, сильно не пинать, но критику принимаю. 1. На этапе POST идет поиск и инициализация видеадаптера, а также устройств, имеющих собственную BIOS - грубо говоря 1-ый этап инициализации оборудования. Все найденное оборудование будет показано в BIOS … и вот интересно было бы узнать, если nvidia не видна была в Linux, то что было в windows? - нужно было сразу же перегрузиться в windows, а перед этим зайти в BIOS и проверить там. Хорошо, допустим, что BIOS карту видит. 2. Идем дальше … а дальше находится и загружается образ ядра (рассматриваем Linux ... но почти также и в windows), ядро инициализирует устройства и их драйвера, выделяет определенную область памяти … и если после загрузки Linux карта не обнаруживается (не инициализируется), то интересно узнать, была ли ей выделена область в памяти (была ли она в выводе # cat /proc/ iomem) - что то не соображу как должно быть … а узнать было бы интересно. Но, имхо, мало верится в то, что карта определяется BIOS и инициализируется в windows, НО не инициализируется в Linux. Причина этого мне не понятна - неужели так сильно отличается процедура инициализации карт при загрузке windows и linux??? 3. Далее обновили BIOS (системный), карта стала видна в Linux … хотя при обновлении BIOS существенных изменений нет, меняются/добавляются некоторые параметры, микрокод и другое, имхо, слабо верится, что это могло серъезно повлиять на инициализацию карты … НО факт налицо. А потому предположу, что повлиял не сам факт нововедений в BIOS, а факт «сброса Из документации - опишу подробнее Здесь интересна одна фраза - Если же с помощью свободных ресурсов нельзя сконфигурировать новое устройство, то BIOS продолжает загрузку компьютера, а конфигурированием занимается операционная система.Может причина в этом??? EDIT 1 - Кстати, если посмотреть вывод /proc/iomem, то там будет и BIOS # grep ROM /proc/iomem И вот этот кусок 000f0000-000fffff, равный 64К (1048575-1 - 983040 = 65534/1024=64K), и есть BIOS, который парсит утилита dmidecodePS - иправил описку, как всегда, не то скопировал ... вообщем если быть точным, то SMBIOS начинается с адреса 000f2f40 (сигнатура 5f 53 4d 5f - _SM_) sudo hexdump -C -s 0xF2F40 -n 32 /dev/mem
Ошибки не исчезают с опытом - они просто умнеют
|
m9ffk4 |
|
Темы:
3
Сообщения:
22
Участник с: 25 января 2018
|
Небольшое НО Я после загрузки и установки arch с флешки, поверх win, перестал видеть карту в bios тоже. При включении ПК монитор делал вид, что карты нет или ПК выключен. Доставлял все через коннект к материнке и встроенной карте. Знаю, что внешняя карта отрубается, если к ней не подсоединить монитор, но он изначально при включении ничего не показывал. Я не мог вылечить это без монитора. Возможно это тоже важно ¯\_(ツ)_/¯ ядро инициализирует устройства и их драйвера Вот как раз мне подсказали, что это происходит путем получения инфы из bios, а не самостоятельным процессом. Нет в bios -> нет в linux Что послужило причиной исчезновения - загадка Но я не врач. Могу сообщить только симптомы и как лечил ¯\_(ツ)_/¯ А потому предположу, что повлиял не сам факт нововедений в BIOS, а факт «сброса настроек списка конфигурации», что, возможно, можно было бы и достичь и очисткой конфигурации ESCD.тут согласен, но решил лучше обновить =) |
vasek |
|
Темы:
47
Сообщения:
11933
Участник с: 17 февраля 2013
|
m9ffk4BIOS уже в этот момент не работает, но нужная информация об устройствах находится (скопирована) в памяти, откуда эта информация и берется. EDIT 1 - в части инициализации карты в Linux - если посмотреть последние логи успешной загрузки m9ffk4то момент обнаружения карты это строка а дальше идет описание инициализации BAR регистров устройства … эти же номера ( 0xde000000-0xdeffffff и другие) будут и в выводе cat /proc/iomem
Ошибки не исчезают с опытом - они просто умнеют
|