Как узнать производителя / модель панели экрана ноутбука с Linux? (Samsung, LG, Chi Mei и др.)

Как узнать производителя / модель панели экрана ноутбука с Linux? (Samsung, LG, Chi Mei и т. Д.) + Номер модели?

Я пытался использовать эту команду "lshw" в Ubuntu, но там, похоже, нет панели, указанной там.

Спасибо.

6 ответов

Решение

Используйте любую утилиту, которая показывает информацию EDID. Одно из мест, где можно найти эту информацию, находится в /var/log/Xorg.0.log

Моя информация не появилась в XOrg.log. Но я понял, что могу получить информацию от подкомпонента DRM (Direct Rendering Manager) ядра linux, который представлен в sysfs. Итак, я сделал следующее:

root@dark:~# ls /sys/class/drm/
card0       card0-DP-2  card0-eDP-1     card0-HDMI-A-2  card0-VGA-1  version
card0-DP-1  card0-DP-3  card0-HDMI-A-1  card0-HDMI-A-3  controlD64

Вы можете выяснить, какие экраны активны, выполнив некоторые исследования здесь:

root@dark:/sys/class/drm# cat card0-HDMI-A-2/enabled 
enabled
root@dark:/sys/class/drm# cat card0-HDMI-A-3/enabled 
disabled

Затем я проанализировал информацию EDID с экранов, которые меня интересовали, следующим образом:

root@dark:/sys/class/drm# cat card0-HDMI-A-1/edid | edid-decode
Extracted contents:
header:          00 ff ff ff ff ff ff 00
serial number:   09 d1 0a 78 45 54 00 00 16 12
version:         01 03
basic params:    80 34 20 78 2e
chroma info:     c5 c4 a3 57 4a 9c 23 12 4f 52
established:     a5 6b 80
standard:        71 00 81 00 95 00 81 80 b3 00 a9 40 d1 00 01 01
descriptor 1:    28 3c 80 a0 70 b0 23 40 30 20 36 00 07 44 21 00 00 1a
descriptor 2:    00 00 00 ff 00 56 35 38 30 30 34 35 35 5a 4c 30 0a 20
descriptor 3:    00 00 00 fd 00 32 55 1f 5e 11 00 0a 20 20 20 20 20 20
descriptor 4:    00 00 00 fc 00 42 65 6e 51 20 47 32 34 30 30 57 0a 20
extensions:      01
checksum:        e5

Manufacturer: BNQ Model 780a Serial Number 21573
Made week 22 of 2008
EDID version: 1.3
Digital display
Maximum image size: 52 cm x 32 cm
Gamma: 2.20
DPMS levels: Off
Supported color formats: RGB 4:4:4, YCrCb 4:2:2
Default (sRGB) color space is primary color space
First detailed timing is preferred timing
Established timings supported:
  720x400@70Hz
  640x480@60Hz
  640x480@75Hz
  800x600@60Hz
  800x600@75Hz
  832x624@75Hz
  1024x768@60Hz
  1024x768@75Hz
  1280x1024@75Hz
  1152x870@75Hz
Standard timings supported:
  1152x720@60Hz
  1280x800@60Hz
  1440x900@60Hz
  1280x1024@60Hz
  1680x1050@60Hz
  1600x1200@60Hz
  1920x1200@60Hz
Detailed mode: Clock 154.000 MHz, 519 mm x 324 mm
               1920 1968 2000 2080 hborder 0
               1200 1203 1209 1235 vborder 0
               +hsync -vsync
Serial number: V5800455ZL0
 Monitor ranges: 50-85HZ vertical, 31-94kHz horizontal, max dotclock 170MHz
Monitor name: BenQ G2400W
 Has 1 extension blocks
Checksum: 0xe5

CEA extension block
Extension version: 3
22 bytes of CEA data
  Video data block
    VIC 04 
    VIC 16 (native)
    VIC 03 
    VIC 01 
    VIC 05 (native)
  Vendor-specific data block, OUI 000c03 (HDMI)
    Source physical address 1.0.0.0
  Speaker allocation data block
  Audio data block
Underscans PC formats by default
Basic audio support
Supports YCbCr 4:4:4
Supports YCbCr 4:2:2
1 native detailed modes
Detailed mode: Clock 74.250 MHz, 708 mm x 398 mm
               1280 1390 1430 1650 hborder 0
                720  725  730  750 vborder 0
               +hsync +vsync
Detailed mode: Clock 74.250 MHz, 708 mm x 398 mm
               1920 2008 2052 2200 hborder 0
                540  542  547  562 vborder 0
               +hsync +vsync interlaced
Detailed mode: Clock 27.000 MHz, 708 mm x 398 mm
                720  736  798  858 hborder 0
                480  489  495  525 vborder 0
               -hsync -vsync
Detailed mode: Clock 148.500 MHz, 708 mm x 398 mm
               1920 2008 2052 2200 hborder 0
               1080 1084 1089 1125 vborder 0
               +hsync +vsync analog composite
Detailed mode: Clock 25.180 MHz, 530 mm x 398 mm
                640  648  744  800 hborder 8
                480  482  484  525 vborder 8
               -hsync -vsync
Checksum: 0x2c

Огромный успех!

Если вы можете установить read-edid, то вы можете попробовать с get-edid | parse-edid,

Используемый read-edid чтобы получить эту информацию на Ubuntu 14.04.

$ sudo apt-get install read-edid
$ sudo get-edid | parse-edid
This is read-edid version 3.0.1. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0
No EDID on bus 1
No EDID on bus 2
No EDID on bus 3
No EDID on bus 4
No EDID on bus 5
3 potential busses found: 6 7 8
Will scan through until the first EDID is found.
Pass a bus number as an option to this program to go only for that one.
256-byte EDID successfully retrieved from i2c bus 6
Looks like i2c was successful. Have a good day.
Checksum Correct

Section "Monitor"
    Identifier "�
                     @"
    ModelName "�
                    @"
    VendorName "LGD"
    # Monitor Manufactured week 0 of 2014
    # EDID version 1.4
    # Digital Display
    DisplaySize 310 170
    Gamma 2.20
    Option "DPMS" "true"
    Modeline    "Mode 0" 138.70 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync 
    Modeline    "Mode 1" 110.90 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync 
EndSection
$ 

Поиски вокруг /sys/class/drm/card0 казались простым вариантом.

cd /sys/class/drm/card0
$ for n in `find . -name edid` ; do cat $n | parse-edid 2>/dev/null; done
Section "Monitor"
    Identifier "�
                     @"
    ModelName "�
                    @"
    VendorName "LGD"
    # Monitor Manufactured week 0 of 2014
    # EDID version 1.4
    # Digital Display
    DisplaySize 310 170
    Gamma 2.20
    Option "DPMS" "true"
    Modeline    "Mode 0" 138.70 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync 
    Modeline    "Mode 1" 110.90 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync 
EndSection
Section "Monitor"
    Identifier "VX2250 SERIES"
    ModelName "VX2250 SERIES"
    VendorName "VSC"
    # Monitor Manufactured week 40 of 2010
    # EDID version 1.3
    # Analog Display
    Option "SyncOnGreen" "true"
    DisplaySize 480 270
    Gamma 2.20
    Option "DPMS" "true"
    Horizsync 24-82
    VertRefresh 50-75
    # Maximum pixel clock is 210MHz
    #Not giving standard mode: 1680x1050, 60Hz
    #Not giving standard mode: 1600x1200, 60Hz
    #Not giving standard mode: 1600x900, 60Hz
    #Not giving standard mode: 1440x900, 60Hz
    #Not giving standard mode: 1400x1050, 60Hz
    #Not giving standard mode: 1280x1024, 60Hz
    #Not giving standard mode: 1280x800, 60Hz
    #Not giving standard mode: 1152x864, 75Hz
    Modeline    "Mode 0" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
EndSection
$

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

На моем ubuntu 19.10 мне сначала пришлось установить пакет edid-decode

sudo apt install edid-decode

Затем цикл, который выводит имя и информацию об устройстве:

for i in $(ls /sys/class/drm/); do echo $i; cat /sys/class/drm/$i/edid | edid-decode; done

Это скорее должен был быть комментарий к ответу Александра Торстлингса, чем независимый, но, похоже, мне пока не разрешено комментировать...;-)

На Linux Mint 18.1 я нашел два инструмента, которые дают разные результаты. Сначала я попробовал read-edid:

rich@laptop ~ $ sudo apt install read-edid

С этим я получил следующее, но не нашел номер модели:

rich@laptop ~ $ sudo get-edid | parse-edid
    This is read-edid version 3.0.2. Prepare for some fun.
    Attempting to use i2c interface
    No EDID on bus 0
    No EDID on bus 1
    No EDID on bus 3
    No EDID on bus 4
    No EDID on bus 5
    1 potential busses found: 2
    128-byte EDID successfully retrieved from i2c bus 2
    Looks like i2c was successful. Have a good day.
    Checksum Correct

    Section "Monitor"
        Identifier " 
                         @"
        ModelName " 
                        @"
        VendorName "LGD"
        # Monitor Manufactured week 0 of 2010
        # EDID version 1.3
        # Digital Display
        DisplaySize 380 220
        Gamma 2.20
        Option "DPMS" "false"
        Modeline    "Mode 0" 149.80 1920 1984 2080 2276 1080 1082 1085 1097 -hsync -vsync 
    EndSection

Тогда я попробовал другой инструмент для анализа EDID:

rich@laptop ~ $ sudo apt install edid-decode

Это, казалось, дало больше информации о модели панели:

rich@laptop ~ $ sudo get-edid | edid-decode
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0
No EDID on bus 1
No EDID on bus 3
No EDID on bus 4
No EDID on bus 5
1 potential busses found: 2
128-byte EDID successfully retrieved from i2c bus 2
Looks like i2c was successful. Have a good day.
Extracted contents:
header:          00 ff ff ff ff ff ff 00
serial number:   30 e4 83 02 00 00 00 00 00 14
version:         01 03
basic params:    90 26 16 78 0a
chroma info:     f1 95 a3 55 52 a1 26 0f 50 54
established:     00 00 00
standard:        01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
descriptor 1:    84 3a 80 64 71 38 11 40 40 60 23 00 7f d7 10 00 00 19
descriptor 2:    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
descriptor 3:    00 00 00 fe 00 4c 47 20 44 69 73 70 6c 61 79 0a 20 20
descriptor 4:    00 00 00 fe 00 4c 50 31 37 33 57 46 31 2d 54 4c 42 32
extensions:      00
checksum:        ba

Manufacturer: LGD Model 283 Serial Number 0
Made week 0 of 2010
EDID version: 1.3
Digital display
Maximum image size: 38 cm x 22 cm
Gamma: 2.20
Supported color formats: RGB 4:4:4, YCrCb 4:2:2
First detailed timing is preferred timing
Established timings supported:
Standard timings supported:
Detailed mode: Clock 149.800 MHz, 383 mm x 215 mm
               1920 1984 2080 2276 hborder 0
               1080 1082 1085 1097 vborder 0
               -hsync -vsync 
Manufacturer-specified data, tag 0
ASCII string: LG
ASCII string: LP173WF1
Checksum: 0xba (valid)
EDID block does NOT conform to EDID 1.3!
    Digital display field contains garbage: 10
    Missing name descriptor
    Missing monitor ranges
    Detailed block string not properly terminated

Что-то вроде этого должно работать лучше (все остальные ответы здесь не работали на 100%):

for file in `ls -1 /sys/class/drm/*/edid`; do text=$(tr -d '\0' <"$file"); if [ -n "$text" ]; then edid-decode "$file" | grep -e Manufacturer: -e Product; sleep 0.0001; fi done

Я тестировал здесь с двумя мониторами. Мой основной - это встроенный монитор ноутбука, а вторичный - DELL 25". Это был результат:

Manufacturer: DELL Model 53359 Serial Number 809781068
Display Product Serial Number: YKFWP5790DGL
Display Product Name: DELL U2515H
Manufacturer: LGD Model 1133 Serial Number 0

Чтобы получить ТОЛЬКО производителей / производителей, вы можете использовать это:

for file in `ls -1 /sys/class/drm/*/edid`; do text=$(tr -d '\0' <"$file"); if [ -n "$text" ]; then edid-decode "$file" | grep -e Manufacturer: | grep -oE '.*Model'; sleep 0.0001; fi done

И у вас будет такой результат:

Manufacturer: DELL
Manufacturer: LGD

Вы должны были установить edid-decodeв вашем дистрибутиве. Моя установка - DELL Latitude e5450 с Ubuntu 20.04.

На Fedora Core вы можете установить monitor-edid (read-edid пакет, кажется, доступен только для Ubuntu - я предлагаю добавить информацию о Fedora здесь, так как этот форум не askubuntu, но superuser).

Выводит EISA ID, с помощью которого вы можете найти информацию о поставщике и устройстве в Интернете.

Другие вопросы по тегам