'2026/01'에 해당되는 글 50건

  1. 14:13:40 esp32-2432S028 데모 빌드
  2. 2026.01.20 evemu-describe, udevadm
  3. 2026.01.20 elinks
  4. 2026.01.20 혼돈 파괴 카오스(?)의 미국
  5. 2026.01.20 journalctl 옵션
  6. 2026.01.19 둠 이터널 - 우르닥
  7. 2026.01.19 risc v hdl
  8. 2026.01.18 개털 밈
  9. 2026.01.17 platformio
  10. 2026.01.17 esp32-2432S028 데이터 시트
embeded/esp322026. 1. 21. 14:13

LCD는 ILI9341 인듯하다. 케이스에는 7789 라더니 개뻥이었나.

 

Demo_LVGL(idf-4.3) 라고 되어있어서 idf-4.3을 다운로드 받아 설치하고 환경 변수 잡아주고

mkdir -p ~/esp
cd ~/esp
git clone -b v4.3 --recursive https://github.com/espressif/esp-idf.git

./install.sh

. $HOME/esp/esp-idf/export.sh

[링크 : https://docs.espressif.com/projects/esp-idf/en/v4.3/esp32/get-started/index.html#step-2-get-esp-idf]

[링크 : https://docs.espressif.com/projects/esp-idf/en/stable/esp32/versions.html]

 

빌드해서

$ idf.py build

 

넣어주면

idf.py flash -p /dev/ttyUSB1
/home/minimonk/esp/esp-idf43/tools/check_python_dependencies.py:23: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
  import pkg_resources
/home/minimonk/esp/esp-idf43/tools/idf.py:384: DeprecationWarning: 'MultiCommand' is deprecated and will be removed in Click 9.0. Use 'Group' instead.
  class CLI(click.MultiCommand):
Executing action: flash
Running ninja in directory /home/minimonk/5_35_LVGL_Full_Test-S024/build
Executing "ninja flash"...
[1/4] Performing build step for 'bootloader'
ninja: no work to do.
[1/2] cd /home/minimonk/esp/esp-idf43/c...nents/esptool_py/run_serial_tool.cmake
esptool.py esp32 -p /dev/ttyUSB1 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 lvgl-demo.bin
esptool.py v3.1-dev
Serial port /dev/ttyUSB1
Connecting.......
Chip is ESP32-D0WD-V3 (revision 3)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 5c:01:3b:33:c6:b0
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x00001000 to 0x00007fff...
Flash will be erased from 0x00010000 to 0x00074fff...
Compressed 3072 bytes to 103...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (103 compressed) at 0x00008000 in 0.1 seconds (effective 488.3 kbit/s)...
Hash of data verified.
Compressed 25056 bytes to 15381...
Writing at 0x00001000... (100 %)
Wrote 25056 bytes (15381 compressed) at 0x00001000 in 0.7 seconds (effective 272.5 kbit/s)...
Hash of data verified.
Compressed 412096 bytes to 242315...
Writing at 0x00010000... (6 %)
Writing at 0x00019393... (13 %)
Writing at 0x00022bdb... (20 %)
Writing at 0x000285ac... (26 %)
Writing at 0x0002e521... (33 %)
Writing at 0x000341bb... (40 %)
Writing at 0x0003a063... (46 %)
Writing at 0x0004196e... (53 %)
Writing at 0x000471d6... (60 %)
Writing at 0x0004cf75... (66 %)
Writing at 0x00052dee... (73 %)
Writing at 0x00058bce... (80 %)
Writing at 0x00062282... (86 %)
Writing at 0x0006a20c... (93 %)
Writing at 0x0006fb38... (100 %)
Wrote 412096 bytes (242315 compressed) at 0x00010000 in 5.8 seconds (effective 570.3 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
Done

 

깨져서 나온다.

 

최상위 디렉토리에서 sdkconfig 파일을 열어 몇 개 수정해보면 될 거 같은데


#
# Touchpanel Configuration (XPT2046)
#
CONFIG_LVGL_TOUCH_X_MIN=200
CONFIG_LVGL_TOUCH_Y_MIN=120
CONFIG_LVGL_TOUCH_X_MAX=1900
CONFIG_LVGL_TOUCH_Y_MAX=1900
# CONFIG_LVGL_TOUCH_XY_SWAP is not set
CONFIG_LVGL_TOUCH_INVERT_X=y
CONFIG_LVGL_TOUCH_INVERT_Y=y
# end of Touchpanel Configuration (XPT2046)
# end of LVGL Touch controller

#
# LVGL TFT Display controller
#
CONFIG_LVGL_PREDEFINED_DISPLAY_NONE=y
# CONFIG_LVGL_PREDEFINED_DISPLAY_WROVER4 is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_M5STACK is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_M5STICK is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_M5STICKC is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_ERTFT0356 is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_RPI_MPI3501 is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_ATAG is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_RPI_RA8875 is not set
# CONFIG_LVGL_PREDEFINED_DISPLAY_TTGO is not set
CONFIG_LVGL_TFT_DISPLAY_CONTROLLER_ILI9341=y
CONFIG_LVGL_TFT_DISPLAY_PROTOCOL_SPI=y
CONFIG_LVGL_PREDEFINED_PINS_NONE=y
# CONFIG_LVGL_PREDEFINED_PINS_38V4 is not set
# CONFIG_LVGL_PREDEFINED_PINS_30 is not set
# CONFIG_LVGL_PREDEFINED_PINS_38V1 is not set
# CONFIG_LVGL_PREDEFINED_PINS_TKOALA is not set
CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set
# CONFIG_LVGL_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set
CONFIG_LVGL_TFT_DISPLAY_SPI_HSPI=y
# CONFIG_LVGL_TFT_DISPLAY_SPI_VSPI is not set
# CONFIG_LVGL_DISPLAY_ORIENTATION_PORTRAIT is not set
# CONFIG_LVGL_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set
# CONFIG_LVGL_DISPLAY_ORIENTATION_LANDSCAPE is not set
CONFIG_LVGL_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED=y
CONFIG_LVGL_DISPLAY_ORIENTATION=3
#CONFIG_LVGL_DISPLAY_WIDTH=320
CONFIG_LVGL_DISPLAY_WIDTH=240
#CONFIG_LVGL_DISPLAY_HEIGHT=240
CONFIG_LVGL_DISPLAY_HEIGHT=320
CONFIG_LVGL_TFT_USE_CUSTOM_SPI_CLK_DIVIDER=y
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_1 is not set
CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_2=y
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_3 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_4 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_5 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_6 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_7 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_8 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_9 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_10 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_12 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_16 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_20 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_24 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_32 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_40 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_48 is not set
# CONFIG_LVGL_TFT_SPI_CLK_DIVIDER_80 is not set
CONFIG_LVGL_TFT_CUSTOM_SPI_CLK_DIVIDER=2
# CONFIG_LVGL_INVERT_DISPLAY is not set
# CONFIG_LVGL_INVERT_COLORS is not set
CONFIG_LVGL_AXP192_PIN_SDA=21
CONFIG_LVGL_AXP192_PIN_SCL=22

 

정상인듯 정상이 아닌듯한 너.. -_-

그 와중에 화면 좌우로 바뀌고, 터치도 xy 뒤집히고 난리네 어떻게 잡냐..

+

[링크 : https://github.com/lvgl/lvgl_esp32_drivers/issues/234]

[링크 : https://forum.lvgl.io/t/how-to-run-lvgl-under-micropython-on-the-cheap-yellow-display/19142]

 

최대 프레임이 잡혀있는건진 모르겠지만 33 이상은 안나오고, 클럭 디바이더 2에서 사용하지 않음을 해주어도 변화가 없다.

# CONFIG_LVGL_TFT_USE_CUSTOM_SPI_CLK_DIVIDER is not set
CONFIG_LVGL_TFT_CUSTOM_SPI_CLK_DIVIDER=2

 

일단 조금 복잡하면 25 프레임, 심플하면 33 프레임이 나온다.

 

 

'embeded > esp32' 카테고리의 다른 글

esp32-2432S028 데이터 시트  (0) 2026.01.17
esp32-2432S028 보드 st7789 spi lcd driver?  (0) 2026.01.16
esp32 와 spi lcd 성능 비..교?  (0) 2026.01.12
esp32 c6 zigbee thread matter  (0) 2026.01.10
esp32 benchmark  (0) 2025.11.18
Posted by 구차니
프로그램 사용/uinput2026. 1. 20. 17:42

hid 장치의 종류라고 하긴 애매한데..

아무튼 포인팅 디바이스 인지, 터치 디바이스인지 확인하기 위한 툴

$ sudo evemu-describe
Available devices:
/dev/input/event0: Lid Switch
/dev/input/event1: Power Button
/dev/input/event2: Power Button
/dev/input/event3: AT Translated Set 2 keyboard
/dev/input/event4: ELAN0B00:00 04F3:3136 Mouse
/dev/input/event5: ELAN0B00:00 04F3:3136 Touchpad
/dev/input/event6: ELAN902C:00 04F3:2AC2
/dev/input/event7: ELAN902C:00 04F3:2AC2 UNKNOWN
/dev/input/event8: ELAN902C:00 04F3:2AC2 UNKNOWN
/dev/input/event9: WCOM0111:00 2D1F:010D Stylus
/dev/input/event10: WCOM0111:00 2D1F:010D
/dev/input/event11: Logitech USB Optical Mouse
/dev/input/event12: CHERRY Mechanical Keyboard
/dev/input/event13: CHERRY Mechanical Keyboard
/dev/input/event14: CHERRY Mechanical Keyboard
/dev/input/event15: CHERRY Mechanical Keyboard Mouse
/dev/input/event16: Intel HID events
/dev/input/event17: Intel HID 5 button array
/dev/input/event18: Video Bus
/dev/input/event19: sof-hda-dsp Mic
/dev/input/event20: sof-hda-dsp Headphone
/dev/input/event21: sof-hda-dsp HDMI/DP,pcm=3
/dev/input/event22: sof-hda-dsp HDMI/DP,pcm=4
/dev/input/event23: sof-hda-dsp HDMI/DP,pcm=5
/dev/input/event24: eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00 
/dev/input/event25: eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00
Select the device event number [0-25]: 24
# EVEMU 1.3
# Kernel: 6.8.0-90-generic
# DMI: dmi:bvnAmericanMegatrendsInc.:bvrP07RFG.042.201224.FL:bd12/24/2020:br5.16:svnSAMSUNGELECTRONICSCO.,LTD.:pn730QCJ/730QCR:pvrP07RFG:rvnSAMSUNGELECTRONICSCO.,LTD.:rnNT730QCR-A716A:rvrSGLFREEDOS-C00-R000-S0000+1.0.0000:cvnSAMSUNGELECTRONICSCO.,LTD.:ct10:cvrN/A:skuSCAI-A5A5-A5A5-A5A5-PRFG:
# Input device name: "eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00 "
# Input device ID: bus 0x03 vendor 0xeef product 0xc000 version 0x111
# Size in mm: 292x227
# Supported events:
#   Event type 0 (EV_SYN)
#     Event code 0 (SYN_REPORT)
#     Event code 1 (SYN_CONFIG)
#     Event code 2 (SYN_MT_REPORT)
#     Event code 3 (SYN_DROPPED)
#     Event code 4 ((null))
#     Event code 5 ((null))
#     Event code 6 ((null))
#     Event code 7 ((null))
#     Event code 8 ((null))
#     Event code 9 ((null))
#     Event code 10 ((null))
#     Event code 11 ((null))
#     Event code 12 ((null))
#     Event code 13 ((null))
#     Event code 14 ((null))
#     Event code 15 (SYN_MAX)
#   Event type 1 (EV_KEY)
#     Event code 330 (BTN_TOUCH)
#   Event type 3 (EV_ABS)
#     Event code 0 (ABS_X)
#       Value        0
#       Min          0
#       Max       4095
#       Fuzz         0
#       Flat         0
#       Resolution  14
#     Event code 1 (ABS_Y)
#       Value        0
#       Min          0
#       Max       4095
#       Fuzz         0
#       Flat         0
#       Resolution  18
#     Event code 47 (ABS_MT_SLOT)
#       Value        0
#       Min          0
#       Max          9
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 53 (ABS_MT_POSITION_X)
#       Value        0
#       Min          0
#       Max       4095
#       Fuzz         0
#       Flat         0
#       Resolution  14
#     Event code 54 (ABS_MT_POSITION_Y)
#       Value        0
#       Min          0
#       Max       4095
#       Fuzz         0
#       Flat         0
#       Resolution  18
#     Event code 57 (ABS_MT_TRACKING_ID)
#       Value        0
#       Min          0
#       Max      65535
#       Fuzz         0
#       Flat         0
#       Resolution   0
#   Event type 4 (EV_MSC)
#     Event code 5 (MSC_TIMESTAMP)
# Properties:
#   Property  type 1 (INPUT_PROP_DIRECT)
N: eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00 
I: 0003 0eef c000 0111
P: 02 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 04 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 03 00 00 00 00 80 60 02
B: 04 20 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 00 0 4095 0 0 14
A: 01 0 4095 0 0 18
A: 2f 0 9 0 0 0
A: 35 0 4095 0 0 14
A: 36 0 4095 0 0 18
A: 39 0 65535 0 0 0
$ sudo  evemu-describe
Available devices:
/dev/input/event0: Lid Switch
/dev/input/event1: Power Button
/dev/input/event2: Power Button
/dev/input/event3: AT Translated Set 2 keyboard
/dev/input/event4: ELAN0B00:00 04F3:3136 Mouse
/dev/input/event5: ELAN0B00:00 04F3:3136 Touchpad
/dev/input/event6: ELAN902C:00 04F3:2AC2
/dev/input/event7: ELAN902C:00 04F3:2AC2 UNKNOWN
/dev/input/event8: ELAN902C:00 04F3:2AC2 UNKNOWN
/dev/input/event9: WCOM0111:00 2D1F:010D Stylus
/dev/input/event10: WCOM0111:00 2D1F:010D
/dev/input/event11: Logitech USB Optical Mouse
/dev/input/event12: CHERRY Mechanical Keyboard
/dev/input/event13: CHERRY Mechanical Keyboard
/dev/input/event14: CHERRY Mechanical Keyboard
/dev/input/event15: CHERRY Mechanical Keyboard Mouse
/dev/input/event16: Intel HID events
/dev/input/event17: Intel HID 5 button array
/dev/input/event18: Video Bus
/dev/input/event19: sof-hda-dsp Mic
/dev/input/event20: sof-hda-dsp Headphone
/dev/input/event21: sof-hda-dsp HDMI/DP,pcm=3
/dev/input/event22: sof-hda-dsp HDMI/DP,pcm=4
/dev/input/event23: sof-hda-dsp HDMI/DP,pcm=5
/dev/input/event24: eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00 
/dev/input/event25: eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00
Select the device event number [0-25]: 25
# EVEMU 1.3
# Kernel: 6.8.0-90-generic
# DMI: dmi:bvnAmericanMegatrendsInc.:bvrP07RFG.042.201224.FL:bd12/24/2020:br5.16:svnSAMSUNGELECTRONICSCO.,LTD.:pn730QCJ/730QCR:pvrP07RFG:rvnSAMSUNGELECTRONICSCO.,LTD.:rnNT730QCR-A716A:rvrSGLFREEDOS-C00-R000-S0000+1.0.0000:cvnSAMSUNGELECTRONICSCO.,LTD.:ct10:cvrN/A:skuSCAI-A5A5-A5A5-A5A5-PRFG:
# Input device name: "eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00"
# Input device ID: bus 0x03 vendor 0xeef product 0xc000 version 0x111
# Supported events:
#   Event type 0 (EV_SYN)
#     Event code 0 (SYN_REPORT)
#     Event code 1 (SYN_CONFIG)
#     Event code 2 (SYN_MT_REPORT)
#     Event code 3 (SYN_DROPPED)
#     Event code 4 ((null))
#     Event code 5 ((null))
#     Event code 6 ((null))
#     Event code 7 ((null))
#     Event code 8 ((null))
#     Event code 9 ((null))
#     Event code 10 ((null))
#     Event code 11 ((null))
#     Event code 12 ((null))
#     Event code 13 ((null))
#     Event code 14 ((null))
#     Event code 15 (SYN_MAX)
#   Event type 1 (EV_KEY)
#     Event code 272 (BTN_LEFT)
#     Event code 273 (BTN_RIGHT)
#   Event type 3 (EV_ABS)
#     Event code 0 (ABS_X)
#       Value        0
#       Min          0
#       Max       4095
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 1 (ABS_Y)
#       Value        0
#       Min          0
#       Max       4095
#       Fuzz         0
#       Flat         0
#       Resolution   0




























#   Event type 4 (EV_MSC)
#     Event code 4 (MSC_SCAN)
# Properties:
N: eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00
I: 0003 0eef c000 0111
P: 00 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 03 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 03 00 00 00 00 00 00 00
B: 04 10 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 00 0 4095 0 0 0
A: 01 0 4095 0 0 0





[링크 : https://man.archlinux.org/man/evemu-describe.1]

https://wiki.ubuntu.com/Multitouch/Testing/Evemu

 

얘는 udev management tool 이라고 하니

이걸 uinput이 아니라 udev라고 하나 따로 파야하나..?

udevadm info -a -n /dev/input/event24

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0EEF:C000.000A/input/input37/event24':
    KERNEL=="event24"
    SUBSYSTEM=="input"
    DRIVER==""
    ATTR{power/async}=="disabled"
    ATTR{power/control}=="auto"
    ATTR{power/runtime_active_kids}=="0"
    ATTR{power/runtime_active_time}=="0"
    ATTR{power/runtime_enabled}=="disabled"
    ATTR{power/runtime_status}=="unsupported"
    ATTR{power/runtime_suspended_time}=="0"
    ATTR{power/runtime_usage}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0EEF:C000.000A/input/input37':
    KERNELS=="input37"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{capabilities/abs}=="260800000000003"
    ATTRS{capabilities/ev}=="1b"
    ATTRS{capabilities/ff}=="0"
    ATTRS{capabilities/key}=="400 0 0 0 0 0"
    ATTRS{capabilities/led}=="0"
    ATTRS{capabilities/msc}=="20"
    ATTRS{capabilities/rel}=="0"
    ATTRS{capabilities/snd}=="0"
    ATTRS{capabilities/sw}=="0"
    ATTRS{id/bustype}=="0003"
    ATTRS{id/product}=="c000"
    ATTRS{id/vendor}=="0eef"
    ATTRS{id/version}=="0111"
    ATTRS{inhibited}=="0"
    ATTRS{name}=="eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00"
    ATTRS{phys}=="usb-0000:00:14.0-2/input0"
    ATTRS{power/async}=="disabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{properties}=="2"
    ATTRS{uniq}==""

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0EEF:C000.000A':
    KERNELS=="0003:0EEF:C000.000A"
    SUBSYSTEMS=="hid"
    DRIVERS=="hid-multitouch"
    ATTRS{country}=="00"
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{quirks}=="334864"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0':
    KERNELS=="1-2:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{authorized}=="1"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceProtocol}=="02"
    ATTRS{bInterfaceSubClass}=="01"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{physical_location/dock}=="no"
    ATTRS{physical_location/horizontal_position}=="center"
    ATTRS{physical_location/lid}=="no"
    ATTRS{physical_location/panel}=="unknown"
    ATTRS{physical_location/vertical_position}=="center"
    ATTRS{power/async}=="enabled"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="suspended"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-2':
    KERNELS=="1-2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bMaxPower}=="150mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bmAttributes}=="a0"
    ATTRS{busnum}=="1"
    ATTRS{configuration}=="eGalax Inc."
    ATTRS{devnum}=="15"
    ATTRS{devpath}=="2"
    ATTRS{idProduct}=="c000"
    ATTRS{idVendor}=="0eef"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="eGalax Inc."
    ATTRS{maxchild}=="0"
    ATTRS{physical_location/dock}=="no"
    ATTRS{physical_location/horizontal_position}=="center"
    ATTRS{physical_location/lid}=="no"
    ATTRS{physical_location/panel}=="unknown"
    ATTRS{physical_location/vertical_position}=="center"
    ATTRS{power/active_duration}=="56314"
    ATTRS{power/async}=="enabled"
    ATTRS{power/autosuspend}=="2"
    ATTRS{power/autosuspend_delay_ms}=="2000"
    ATTRS{power/connected_duration}=="56315"
    ATTRS{power/control}=="on"
    ATTRS{power/level}=="on"
    ATTRS{power/persist}=="1"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="56074"
    ATTRS{power/runtime_enabled}=="forbidden"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="1"
    ATTRS{power/wakeup}=="disabled"
    ATTRS{power/wakeup_abort_count}==""
    ATTRS{power/wakeup_active}==""
    ATTRS{power/wakeup_active_count}==""
    ATTRS{power/wakeup_count}==""
    ATTRS{power/wakeup_expire_count}==""
    ATTRS{power/wakeup_last_time_ms}==""
    ATTRS{power/wakeup_max_time_ms}==""
    ATTRS{power/wakeup_total_time_ms}==""
    ATTRS{product}=="eGalaxTouch EXC3188-3374-08.00.00.00 LSE 19""
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="removable"
    ATTRS{rx_lanes}=="1"
    ATTRS{speed}=="12"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="16"
    ATTRS{version}==" 1.10"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{authorized_default}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0608"
    ATTRS{bmAttributes}=="e0"
    ATTRS{busnum}=="1"
    ATTRS{configuration}==""
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{idProduct}=="0002"
    ATTRS{idVendor}=="1d6b"
    ATTRS{interface_authorized_default}=="1"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Linux 6.8.0-90-generic xhci-hcd"
    ATTRS{maxchild}=="12"
    ATTRS{power/active_duration}=="24429762"
    ATTRS{power/async}=="enabled"
    ATTRS{power/autosuspend}=="0"
    ATTRS{power/autosuspend_delay_ms}=="0"
    ATTRS{power/connected_duration}=="24430129"
    ATTRS{power/control}=="auto"
    ATTRS{power/level}=="auto"
    ATTRS{power/runtime_active_kids}=="3"
    ATTRS{power/runtime_active_time}=="24430039"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{power/wakeup}=="disabled"
    ATTRS{power/wakeup_abort_count}==""
    ATTRS{power/wakeup_active}==""
    ATTRS{power/wakeup_active_count}==""
    ATTRS{power/wakeup_count}==""
    ATTRS{power/wakeup_expire_count}==""
    ATTRS{power/wakeup_last_time_ms}==""
    ATTRS{power/wakeup_max_time_ms}==""
    ATTRS{power/wakeup_total_time_ms}==""
    ATTRS{product}=="xHCI Host Controller"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="unknown"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="0000:00:14.0"
    ATTRS{speed}=="480"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="515"
    ATTRS{version}==" 2.00"

  looking at parent device '/devices/pci0000:00/0000:00:14.0':
    KERNELS=="0000:00:14.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="xhci_hcd"
    ATTRS{ari_enabled}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x0c0330"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{dbc}=="disabled"
    ATTRS{dbc_bInterfaceProtocol}=="01"
    ATTRS{dbc_bcdDevice}=="0010"
    ATTRS{dbc_idProduct}=="0010"
    ATTRS{dbc_idVendor}=="1d6b"
    ATTRS{device}=="0x02ed"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{index}=="5"
    ATTRS{irq}=="123"
    ATTRS{label}=="Onboard - Other"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="ff"
    ATTRS{msi_bus}=="1"
    ATTRS{msi_irqs/123}=="msi"
    ATTRS{msi_irqs/124}=="msi"
    ATTRS{msi_irqs/125}=="msi"
    ATTRS{msi_irqs/126}=="msi"
    ATTRS{msi_irqs/127}=="msi"
    ATTRS{msi_irqs/128}=="msi"
    ATTRS{msi_irqs/129}=="msi"
    ATTRS{msi_irqs/130}=="msi"
    ATTRS{numa_node}=="-1"
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="2"
    ATTRS{power/runtime_active_time}=="24430715"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{power/wakeup}=="enabled"
    ATTRS{power/wakeup_abort_count}=="0"
    ATTRS{power/wakeup_active}=="0"
    ATTRS{power/wakeup_active_count}=="1"
    ATTRS{power/wakeup_count}=="0"
    ATTRS{power/wakeup_expire_count}=="1"
    ATTRS{power/wakeup_last_time_ms}=="10084055"
    ATTRS{power/wakeup_max_time_ms}=="108"
    ATTRS{power/wakeup_total_time_ms}=="108"
    ATTRS{power_state}=="D0"
    ATTRS{revision}=="0x00"
    ATTRS{subsystem_device}=="0xc832"
    ATTRS{subsystem_vendor}=="0x144d"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="10"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{waiting_for_supplier}=="0"
$ udevadm info -a -n /dev/input/event25

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0EEF:C000.000A/input/input39/event25':
    KERNEL=="event25"
    SUBSYSTEM=="input"
    DRIVER==""
    ATTR{power/async}=="disabled"
    ATTR{power/control}=="auto"
    ATTR{power/runtime_active_kids}=="0"
    ATTR{power/runtime_active_time}=="0"
    ATTR{power/runtime_enabled}=="disabled"
    ATTR{power/runtime_status}=="unsupported"
    ATTR{power/runtime_suspended_time}=="0"
    ATTR{power/runtime_usage}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0EEF:C000.000A/input/input39':
    KERNELS=="input39"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{capabilities/abs}=="3"
    ATTRS{capabilities/ev}=="1b"
    ATTRS{capabilities/ff}=="0"
    ATTRS{capabilities/key}=="30000 0 0 0 0"
    ATTRS{capabilities/led}=="0"
    ATTRS{capabilities/msc}=="10"
    ATTRS{capabilities/rel}=="0"
    ATTRS{capabilities/snd}=="0"
    ATTRS{capabilities/sw}=="0"
    ATTRS{id/bustype}=="0003"
    ATTRS{id/product}=="c000"
    ATTRS{id/vendor}=="0eef"
    ATTRS{id/version}=="0111"
    ATTRS{inhibited}=="0"
    ATTRS{name}=="eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00 UNKNOWN"
    ATTRS{phys}=="usb-0000:00:14.0-2/input0"
    ATTRS{power/async}=="disabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{properties}=="0"
    ATTRS{uniq}==""

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0EEF:C000.000A':
    KERNELS=="0003:0EEF:C000.000A"
    SUBSYSTEMS=="hid"
    DRIVERS=="hid-multitouch"
    ATTRS{country}=="00"
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{quirks}=="334864"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0':
    KERNELS=="1-2:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{authorized}=="1"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceProtocol}=="02"
    ATTRS{bInterfaceSubClass}=="01"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{physical_location/dock}=="no"
    ATTRS{physical_location/horizontal_position}=="center"
    ATTRS{physical_location/lid}=="no"
    ATTRS{physical_location/panel}=="unknown"
    ATTRS{physical_location/vertical_position}=="center"
    ATTRS{power/async}=="enabled"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="suspended"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-2':
    KERNELS=="1-2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bMaxPower}=="150mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bmAttributes}=="a0"
    ATTRS{busnum}=="1"
    ATTRS{configuration}=="eGalax Inc."
    ATTRS{devnum}=="15"
    ATTRS{devpath}=="2"
    ATTRS{idProduct}=="c000"
    ATTRS{idVendor}=="0eef"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="eGalax Inc."
    ATTRS{maxchild}=="0"
    ATTRS{physical_location/dock}=="no"
    ATTRS{physical_location/horizontal_position}=="center"
    ATTRS{physical_location/lid}=="no"
    ATTRS{physical_location/panel}=="unknown"
    ATTRS{physical_location/vertical_position}=="center"
    ATTRS{power/active_duration}=="293260"
    ATTRS{power/async}=="enabled"
    ATTRS{power/autosuspend}=="2"
    ATTRS{power/autosuspend_delay_ms}=="2000"
    ATTRS{power/connected_duration}=="293260"
    ATTRS{power/control}=="on"
    ATTRS{power/level}=="on"
    ATTRS{power/persist}=="1"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="293019"
    ATTRS{power/runtime_enabled}=="forbidden"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="1"
    ATTRS{power/wakeup}=="disabled"
    ATTRS{power/wakeup_abort_count}==""
    ATTRS{power/wakeup_active}==""
    ATTRS{power/wakeup_active_count}==""
    ATTRS{power/wakeup_count}==""
    ATTRS{power/wakeup_expire_count}==""
    ATTRS{power/wakeup_last_time_ms}==""
    ATTRS{power/wakeup_max_time_ms}==""
    ATTRS{power/wakeup_total_time_ms}==""
    ATTRS{product}=="eGalaxTouch EXC3188-3374-08.00.00.00 LSE 19""
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="removable"
    ATTRS{rx_lanes}=="1"
    ATTRS{speed}=="12"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="16"
    ATTRS{version}==" 1.10"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{authorized_default}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0608"
    ATTRS{bmAttributes}=="e0"
    ATTRS{busnum}=="1"
    ATTRS{configuration}==""
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{idProduct}=="0002"
    ATTRS{idVendor}=="1d6b"
    ATTRS{interface_authorized_default}=="1"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Linux 6.8.0-90-generic xhci-hcd"
    ATTRS{maxchild}=="12"
    ATTRS{power/active_duration}=="24666705"
    ATTRS{power/async}=="enabled"
    ATTRS{power/autosuspend}=="0"
    ATTRS{power/autosuspend_delay_ms}=="0"
    ATTRS{power/connected_duration}=="24667072"
    ATTRS{power/control}=="auto"
    ATTRS{power/level}=="auto"
    ATTRS{power/runtime_active_kids}=="3"
    ATTRS{power/runtime_active_time}=="24666982"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{power/wakeup}=="disabled"
    ATTRS{power/wakeup_abort_count}==""
    ATTRS{power/wakeup_active}==""
    ATTRS{power/wakeup_active_count}==""
    ATTRS{power/wakeup_count}==""
    ATTRS{power/wakeup_expire_count}==""
    ATTRS{power/wakeup_last_time_ms}==""
    ATTRS{power/wakeup_max_time_ms}==""
    ATTRS{power/wakeup_total_time_ms}==""
    ATTRS{product}=="xHCI Host Controller"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="unknown"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="0000:00:14.0"
    ATTRS{speed}=="480"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="515"
    ATTRS{version}==" 2.00"

  looking at parent device '/devices/pci0000:00/0000:00:14.0':
    KERNELS=="0000:00:14.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="xhci_hcd"
    ATTRS{ari_enabled}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x0c0330"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{dbc}=="disabled"
    ATTRS{dbc_bInterfaceProtocol}=="01"
    ATTRS{dbc_bcdDevice}=="0010"
    ATTRS{dbc_idProduct}=="0010"
    ATTRS{dbc_idVendor}=="1d6b"
    ATTRS{device}=="0x02ed"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{index}=="5"
    ATTRS{irq}=="123"
    ATTRS{label}=="Onboard - Other"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="ff"
    ATTRS{msi_bus}=="1"
    ATTRS{msi_irqs/123}=="msi"
    ATTRS{msi_irqs/124}=="msi"
    ATTRS{msi_irqs/125}=="msi"
    ATTRS{msi_irqs/126}=="msi"
    ATTRS{msi_irqs/127}=="msi"
    ATTRS{msi_irqs/128}=="msi"
    ATTRS{msi_irqs/129}=="msi"
    ATTRS{msi_irqs/130}=="msi"
    ATTRS{numa_node}=="-1"
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="2"
    ATTRS{power/runtime_active_time}=="24667656"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{power/wakeup}=="enabled"
    ATTRS{power/wakeup_abort_count}=="0"
    ATTRS{power/wakeup_active}=="0"
    ATTRS{power/wakeup_active_count}=="1"
    ATTRS{power/wakeup_count}=="0"
    ATTRS{power/wakeup_expire_count}=="1"
    ATTRS{power/wakeup_last_time_ms}=="10084055"
    ATTRS{power/wakeup_max_time_ms}=="108"
    ATTRS{power/wakeup_total_time_ms}=="108"
    ATTRS{power_state}=="D0"
    ATTRS{revision}=="0x00"
    ATTRS{subsystem_device}=="0xc832"
    ATTRS{subsystem_vendor}=="0x144d"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="10"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{waiting_for_supplier}=="0"

[링크 : https://linux.die.net/man/8/udevadm]

 

+

2026.01.21

$ udevadm info /dev/input/event24
P: /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0EEF:C000.000D/input/input46/event24
N: input/event24
L: 0
S: input/by-id/usb-eGalax_Inc._eGalaxTouch_EXC3188-3374-08.00.00.00_-event-if00
S: input/by-path/pci-0000:00:14.0-usb-0:2:1.0-event
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0EEF:C000.000D/input/input46/event24
E: DEVNAME=/dev/input/event24
E: MAJOR=13
E: MINOR=88
E: SUBSYSTEM=input
E: USEC_INITIALIZED=83733664720
E: ID_INPUT=1
E: ID_INPUT_TOUCHSCREEN=1
E: ID_INPUT_WIDTH_MM=292
E: ID_INPUT_HEIGHT_MM=227
E: ID_VENDOR=eGalax_Inc.
E: ID_VENDOR_ENC=eGalax\x20Inc.
E: ID_VENDOR_ID=0eef
E: ID_MODEL=eGalaxTouch_EXC3188-3374-08.00.00.00__
E: ID_MODEL_ENC=eGalaxTouch\x20EXC3188-3374-08.00.00.00\x20\x22
E: ID_MODEL_ID=c000
E: ID_REVISION=0000
E: ID_SERIAL=eGalax_Inc._eGalaxTouch_EXC3188-3374-08.00.00.00_
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030102:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:14.0-usb-0:2:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_2_1_0
E: LIBINPUT_DEVICE_GROUP=3/eef/c000:usb-0000:00:14.0-2
E: DEVLINKS=/dev/input/by-id/usb-eGalax_Inc._eGalaxTouch_EXC3188-3374-08.00.00.00_event-if00 /dev/input/by-path/pci-0000:00:14.0-usb-0:2:1.0-event
$ udevadm info /dev/input/event25
P: /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0EEF:C000.000D/input/input48/event25
N: input/event25
L: 0
S: input/by-id/usb-eGalax_Inc._eGalaxTouch_EXC3188-3374-08.00.00.00_-event-mouse
S: input/by-path/pci-0000:00:14.0-usb-0:2:1.0-event-mouse
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0EEF:C000.000D/input/input48/event25
E: DEVNAME=/dev/input/event25
E: MAJOR=13
E: MINOR=89
E: SUBSYSTEM=input
E: USEC_INITIALIZED=83733585165
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_VENDOR=eGalax_Inc.
E: ID_VENDOR_ENC=eGalax\x20Inc.
E: ID_VENDOR_ID=0eef
E: ID_MODEL=eGalaxTouch_EXC3188-3374-08.00.00.00__
E: ID_MODEL_ENC=eGalaxTouch\x20EXC3188-3374-08.00.00.00\x20\x22
E: ID_MODEL_ID=c000
E: ID_REVISION=0000
E: ID_SERIAL=eGalax_Inc._eGalaxTouch_EXC3188-3374-08.00.00.00_
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030102:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:14.0-usb-0:2:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_2_1_0
E: LIBINPUT_DEVICE_GROUP=3/eef/c000:usb-0000:00:14.0-2
E: DEVLINKS=/dev/input/by-id/usb-eGalax_Inc._eGalaxTouch_EXC3188-3374-08.00.00.00_-event-mouse /dev/input/by-path/pci-0000:00:14.0-usb-0:2:1.0-event-mouse


Posted by 구차니
파일방2026. 1. 20. 14:28

시작은 lynx의 javascript 대응버전이었는데 영 찾기 힘드네..

빌드도 일단 실패

[링크 : https://askubuntu.com/questions/34687/is-there-a-text-mode-browser-which-supports-javascript]

[링크 : https://stackoverflow.com/questions/53769223/how-to-install-libmozjs185-dev-in-bionic/53906316#53906316]

 

$ sudo apt-cache search libmozjs
libmozjs-91-0 - SpiderMonkey JavaScript library
libmozjs-91-dev - SpiderMonkey JavaScript library - development headers
libmozjs-78-0 - SpiderMonkey JavaScript library
libmozjs-78-dev - SpiderMonkey JavaScript library - development headers
libmozjs-102-0 - SpiderMonkey JavaScript library
libmozjs-102-dev - SpiderMonkey JavaScript library - development headers

 

$ ./configure --help
`configure' configures this package to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

X features:
  --x-includes=DIR    X include files are in DIR
  --x-libraries=DIR   X library files are in DIR

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --disable-largefile     omit support for large files
  --disable-bookmarks     disable bookmark support
  --disable-xbel          disable XBEL bookmark support (requires expat)
  --enable-sm-scripting   enable ECMAScript browser scripting
  --disable-nls           do not use Native Language Support
  --enable-gettext        use System gettext for Native Language Support
  --disable-cookies       disable cookie support
  --disable-formhist      disable form history support
  --disable-globhist      disable global history support
  --disable-mailcap       disable mailcap support
  --disable-mimetypes     disable mimetypes files support
  --disable-ipv6          disable IPv6 support
  --enable-bittorrent     enable BitTorrent protocol support
  --disable-data          disable data protocol support
  --disable-uri-rewrite   disable URI rewrite support
  --enable-cgi            enable local CGI support
  --enable-dgi            enable DGI support
  --enable-finger         enable finger protocol support
  --enable-fsp            enable FSP protocol support
  --disable-ftp           disable ftp protocol support
  --disable-sftp           disable sftp protocol support
  --enable-gemini         enable gemini protocol support
  --enable-gopher         enable gopher protocol support
  --enable-nntp           enable nntp protocol support
  --enable-smb            enable Samba protocol support
  --disable-mouse         disable mouse support
  --disable-sysmouse      disable BSD sysmouse support
  --enable-88-colors      enable 88 color support
  --enable-256-colors     enable 256 color support
  --enable-true-color     enable true color support
  --enable-exmode         enable exmode (CLI) interface
  --disable-leds          disable LEDs support
  --disable-marks         disable document marks support
  --disable-css           disable Cascading Style Sheet support
  --enable-html-highlight HTML highlighting using DOM engine
  --disable-backtrace     disable backtrace support
  --enable-no-root        enable prevention of usage by root
  --enable-debug          enable leak debug and internal error checking
  --enable-fastmem        enable direct use of system allocation functions, not usable with --enable-debug
  --enable-own-libc       force use of internal functions instead of those of system libc
  --enable-small          reduce binary size as far as possible (but see the bottom of doc/small.txt!)
  --disable-utf-8         disable UTF-8 support
  --enable-reproducible   enable reproducible build
  --disable-codepoint      disable codepoint lookup

    Also check out the features.conf file for more information about features!


Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-static           enable build of static binary
  --with-xterm            how to invoke the X terminal emulator
  --without-gpm           disable gpm (mouse) support
  --with-terminfo         enable terminfo support
  --without-zlib          disable zlib support
  --without-bzlib         disable bzlib support
  --with-zstd             enable experimental zstd support
  --with-brotli           enable brotli
  --with-lzma             enable lzma encoding support
  --without-idn2          disable international domain names support
  --with-gssapi           enable GSSAPI support
  --with-mujs             enable MuJS engine
  --with-quickjs          enable Quickjs engine
  --with-spidermonkey     enable SpiderMonkey Mozilla Javascript engine
  --with-libcurl          enable curl
  --with-libcss           compile with libcss
  --with-libsixel         enable sixel graphics
  --with-guile            enable Guile support
  --with-perl             enable Perl support
  --with-python[=DIR]     enable Python support
  --with-luapkg=name      choose Lua version
  --without-tre           disable TRE regex search support
  --with-ruby             enable Ruby support
  --without-gnutls        disable GNUTLS SSL support
  --with-gnutls           enable GNUTLS SSL support
  --without-openssl       disable OpenSSL support
  --with-openssl[=DIR]    enable OpenSSL support (default)
  --with-nss_compat_ossl[=DIR]
                          NSS compatibility SSL libraries/include files
  --with-libev            compile with libev (libevent compatibility mode)
  --with-libevent         compile with libevent. Note that --with-libev has precedence
  --with-x                use the X Window System
  --with-libiconv=DIR     search for libiconv in DIR/include and DIR/lib
  --with-source-date-epoch=TIME
                          set source date epoch for reproducible builds

Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  PKG_CONFIG  path to pkg-config utility
  PKG_CONFIG_PATH
              directories to add to pkg-config's search path
  PKG_CONFIG_LIBDIR
              path overriding pkg-config's built-in search path
  CPP         C preprocessor
  XMKMF       Path to xmkmf, Makefile generator for X Window System

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to the package provider.

 

$ ./configure --enable-sm-scripting
checking for aclocal... aclocal
checking for autoconf... autoconf
checking for autoheader... autoheader
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking for sys/time.h... yes
checking for sys/param.h... yes
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for gnumake... no
checking for gmake... /usr/bin/gmake
checking for previous build to clean... done
checking for gcc... (cached) gcc
checking whether the compiler supports GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to enable C11 features... (cached) none needed
checking for g++... g++
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking for ld... ld
checking for gawk... gawk
checking for gawk... /usr/bin/gawk
checking for ranlib... ranlib
checking for a BSD-compatible install... /usr/bin/install -c
checking for git... /usr/bin/git
checking for sparse... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for python3... /usr/bin/python3
checking for xmlto... no
checking for dblatex... no
checking for pod2html... /usr/bin/pod2html
checking for doxygen... /usr/bin/doxygen
checking for BEOS... no
checking for DOS... no
checking for RISCOS... no
checking for WIN32... no
checking for EMX... no
checking for UNIX... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for wchar.h... (cached) yes
checking for wctype.h... yes
checking for fcntl.h... yes
checking for time.h... yes
checking for unistd.h... (cached) yes
checking for libgen.h... yes
checking for sigaction.h... no
checking for arpa/inet.h... yes
checking for netinet/in_systm.h... yes
checking for netinet/in_system.h... no
checking for netinet/ip.h... yes
checking for netdb.h... yes
checking for netinet/in.h... yes
checking for netinet/in6_var.h... no
checking for ifaddrs.h... yes
checking for sys/cygwin.h... no
checking for io.h... no
checking for sys/fmutex.h... no
checking for sys/ioctl.h... yes
checking for sys/sockio.h... no
checking for sys/kd.h... yes
checking for sys/resource.h... yes
checking for sys/select.h... yes
checking for sys/socket.h... yes
checking for sys/time.h... (cached) yes
checking for sys/utsname.h... yes
checking for net/if.h... yes
checking for stdint.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for pwd.h... yes
checking for termios.h... yes
checking for poll.h... yes
checking for stdalign.h... yes
checking for sys/un.h... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for C99-conforming inline... yes
checking for typeof... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for size_t... yes
checking for off_t... yes
checking for ssize_t... yes
checking for long long... yes
checking for off_t... yes
checking for int32_t... yes
checking for uint32_t... yes
checking for uint16_t... yes
checking size of char... 1
checking size of short... 2
checking size of int... 4
checking size of long... 8
checking size of long long... 8
checking size of off_t... 8
checking size of intptr_t... 8
checking for variadic macros... yes
checking how to run the C preprocessor... gcc -E
checking whether gcc needs -traditional... no
checking for working memcmp... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for getpagesize... yes
checking for working mmap... yes
checking for strftime... yes
checking for strptime... yes
checking for atoll... yes
checking for gethostbyaddr... yes
checking for herror... yes
checking for strerror... yes
checking for popen... yes
checking for uname... yes
checking for access... yes
checking for chmod... yes
checking for alarm... yes
checking for timegm... yes
checking for mremap... yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for strcasestr... yes
checking for strstr... yes
checking for strchr... yes
checking for strrchr... yes
checking for memmove... yes
checking for bcopy... yes
checking for stpcpy... yes
checking for strdup... yes
checking for index... yes
checking for isdigit... yes
checking for mempcpy... yes
checking for memrchr... yes
checking for snprintf... yes
checking for vsnprintf... yes
checking for asprintf... yes
checking for vasprintf... yes
checking for getifaddrs... yes
checking for getpwnam... yes
checking for inet_aton... yes
checking for inet_pton... yes
checking for inet_ntop... yes
checking for fflush... yes
checking for fsync... yes
checking for fseeko... yes
checking for ftello... yes
checking for sigaction... yes
checking for gettimeofday... yes
checking for clock_gettime... yes
checking for setitimer... yes
checking for cygwin_conv_to_full_win32_path... no
checking for setenv... yes
checking for putenv... yes
checking for unsetenv... yes
checking for getuid... yes
checking for geteuid... yes
checking for wcwidth... yes
checking for fork... yes
checking for mkstemps... yes
checking for setpgid... yes
checking for getpgid... yes
checking for setpgrp... yes
checking for getpgrp... yes
checking for raise... yes
checking for kill... yes
checking for fpathconf... yes
checking for poll... yes
checking for sysconf(_SC_PAGE_SIZE)... yes
checking for C99 vsnprintf... yes
checking for dlopen in -ldl... yes
checking for socket... yes
checking for setsockopt... yes
checking for gethostbyname... yes
checking for gpm support... yes
checking for gpm.h... no
checking for terminfo support... disabled
checking for zlib support... yes
checking for zlib.h... yes
checking for gzclearerr in -lz... yes
checking for bzlib support... yes
checking for bzlib.h... no
checking for zstd support... yes
checking for zstd.h... no
checking for brotli... disabled
checking for lzma support... disabled
checking for idn2 support... yes
checking for idn2.h... no
checking for GSSAPI... no
checking for expat.h... yes
checking for XML_ParserCreate in -lexpat... yes
checking for sys/consio.h... no
checking for machine/console.h... no
checking for MuJS... disabled
checking for QuickJS-NG... disabled
checking for SpiderMonkey... disabled
checking for SpiderMonkey (mozjs-140) in pkg-config mozjs-140... no
checking for libcurl... disabled
checking for libsixel... disabled
checking for Guile... no
checking for Perl... no
checking whether POPpx works without an n_a variable... no
checking for Python3... no
checking for Lua... no
checking for TRE in pkg-config... no, but let's try defaults
checking for TRE header and library... no
checking for Ruby... no
checking for OpenSSL... no
checking for GNUTLS (1.2 or later) in pkg-config... no
checking whether to be or not to be... needs to be determined experimentally
checking for struct sockaddr_storage... yes
checking for struct sockaddr_in6... yes
checking for struct addrinfo... yes
checking for getaddrinfo... yes
checking for X... libraries , headers 
checking for execinfo.h... yes
checking whether /usr/bin/gmake sets $(MAKE)... yes
checking for strerror in -lcposix... no
checking for working alloca.h... yes
checking for alloca... yes
checking whether we are using the GNU C Library 2.1 or newer... yes
checking for argz.h... yes
checking for limits.h... yes
checking for locale.h... yes
checking for nl_types.h... yes
checking for malloc.h... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for feof_unlocked... yes
checking for fgets_unlocked... yes
checking for getcwd... yes
checking for getegid... yes
checking for geteuid... (cached) yes
checking for getgid... yes
checking for getuid... (cached) yes
checking for mempcpy... (cached) yes
checking for munmap... yes
checking for putenv... (cached) yes
checking for setenv... (cached) yes
checking for setlocale... yes
checking for stpcpy... (cached) yes
checking for strchr... (cached) yes
checking for strcasecmp... (cached) yes
checking for strdup... (cached) yes
checking for strtoul... yes
checking for tsearch... yes
checking for __argz_count... yes
checking for __argz_stringify... yes
checking for __argz_next... yes
checking for iconv... yes
checking for iconv declaration... 
         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for nl_langinfo and CODESET... yes
checking for LC_MESSAGES... yes
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for bison... bison
checking version of bison... 3.8.2, ok
checking for catalogs to be installed...  af be bg ca cs da de el es et fi fr gl hr hu id is it ja lt nl nb pl pt pt_BR ro ru sk sr sv tr uk
checking for fsplib.h... no
checking for libsmbclient.h... no
checking for -rdynamic... yes
checking whether gcc accepts -Wno-address... yes
checking whether gcc accepts -fno-strict-overflow... yes
configure: creating ./config.status
config.status: creating Makefile.config
config.status: creating contrib/elinks.spec
config.status: creating contrib/lua/hooks.lua
config.status: creating doc/Doxyfile
config.status: creating doc/man/man1/elinks.1
config.status: creating src/intl/gettext/ref-add.sed
config.status: creating src/intl/gettext/ref-del.sed
config.status: creating config.h
config.status: config.h is unchanged
The following feature summary has been saved to features.log
Feature summary:
Documentation Tools ............. AsciiDoc, Pod2HTML
Manual Formats .................. HTML (one file)
Man Page Formats ................ HTML
API Documentation ............... Doxygen
gpm ............................. no
terminfo ........................ no
zlib ............................ yes
bzlib ........................... no
zstd ............................ no
brotli .......................... no
lzma ............................ no
idn2 ............................ no
Bookmarks ....................... yes
XBEL bookmarks .................. yes
ECMAScript (JavaScript) ......... no
Browser scripting ............... no
libev ........................... no
libevent ........................ no
SSL ............................. no
Native Language Support ......... yes
System gettext .................. no
Cookies ......................... yes
Form history .................... yes
Global history .................. yes
Mailcap ......................... yes
Mimetypes files ................. yes
IPv6 ............................ yes
BitTorrent protocol ............. no
Data protocol ................... yes
URI rewriting ................... yes
Local CGI ....................... no
DOS Gateway Interface ........... no
Finger protocol ................. no
FSP protocol .................... no
FTP protocol .................... yes
SFTP protocol ................... yes
Gemini protocol ................. no
Gopher protocol ................. no
NNTP protocol ................... no
Samba protocol .................. no
Mouse handling .................. yes
BSD sysmouse .................... no
88 colors ....................... no
256 colors ...................... no
true color ...................... no
Exmode interface ................ no
LEDs ............................ yes
Marks ........................... yes
Cascading Style Sheets .......... yes
HTML highlighting ............... no
DOM engine ...................... no
Backtrace ....................... yes
No root exec .................... no
Debug mode ...................... no
Fast mode ....................... no
Own libc stubs .................. no
Small binary .................... no
UTF-8 ........................... yes
Reproducible builds ............. no
Check codepoints ................ no
Regexp searching ................ no (TRE not found)
System configuration directory .. /usr/local/etc/elinks
Locale catalogs directory ....... /usr/local/share/locale
Compiler flags (CFLAGS) ......... -g -O2 -Wall -fno-strict-aliasing -Wno-builtin-declaration-mismatch -Wno-array-bounds -Wno-address -fno-strict-overflow
Preprocessor flags (CPPFLAGS) ... 
C++ compiler flags (CXXFLAGS) ... -g -O2 -fpermissive -Wno-sign-compare
Linker flags (LDFLAGS) .......... -rdynamic 
Library flags (LIBS) ............ -lX11 -lz -ldl  -lexpat  

 

[링크 : http://elinks.or.cz/]

[링크 : https://github.com/rkd77/elinks]

[링크 : https://launchpad.net/ubuntu/+source/mozjs128]

'파일방' 카테고리의 다른 글

platformio  (0) 2026.01.17
lvgl pro, square line studio  (0) 2026.01.09
directFB2  (0) 2026.01.09
nanoVG  (0) 2026.01.09
popos  (0) 2025.09.03
Posted by 구차니

머 보기에는 건강식단으로 바꾸고, 과도한 백신을 줄이자 이긴한데

전반적으로 복지를 줄여서 지출을 줄이려는 걸로 밖에 안보이는건 왜일까

 

 

브룩 롤린스 미 농림부 장관은 현지시간 14일 뉴스채널 뉴스네이션과의 인터뷰에서 미국인들이 "닭고기 한 조각, 브로콜리 한 조각, 옥수수 토르티야 그리고 다른 음식 한 개"만 먹으면 3달러에 새 식단에 맞는 식사를 할 수 있다고 말했습니다.

[링크 : https://www.ytn.co.kr/_ln/0104_202601161028567809]

 

로버트 F. 케네디 주니어 보건복지부 장관과 브룩 롤린스 농무부 장관은 지난 7일(현지시간) ‘2025~2030 미국인을 위한 식단 지침(Dietary Guidelines for Americans)’을 발표했다. 지침은 학교 급식과 군 식단, 저소득층 영양 지원 프로그램(SNAP) 등 연방 정부가 운영하는 모든 영양 정책의 기준이 된다. 트럼프 정부가 주도한 ‘미국을 다시 건강하게(MAHA·Make America Healthy Again)’ 캠페인의 일환이다

[링크 : https://www.joongang.co.kr/article/25396321]

 

미국 정부가 소아에게 권장하는 예방접종 종류를 기존 17종에서 11종으로 줄였다

[링크 : https://www.news1.kr/world/usa-canada/6030127]

 

'개소리 왈왈 > 정치관련 신세한탄' 카테고리의 다른 글

패권주의의 부활?  (0) 2026.01.04
영포티 단상  (0) 2025.11.10
은행 이자는 점점 떨어지네  (0) 2025.09.17
콜래트럴 데미지  (0) 2025.06.03
전장련 시위 시작  (0) 2025.04.21
Posted by 구차니
Linux2026. 1. 20. 10:12

tail 처럼 journalctl 도 -f 옵션을 주면 실시간으로 볼 수 있고

$ journalctl -u servicename -f

 

--since 옵션과 --no-paper 옵션을 주면 특정 시간이내의 내용을 멈추지 않고 볼 수 있다. (기본적으로 less나 more로 멈춤)

$ journalctl -u servicename --since "2 minutes ago" --no-pager

 

$ journalctl --help
journalctl [OPTIONS...] [MATCHES...]

Query the journal.

Options:
     --system                Show the system journal
     --user                  Show the user journal for the current user
  -M --machine=CONTAINER     Operate on local container
  -S --since=DATE            Show entries not older than the specified date
  -U --until=DATE            Show entries not newer than the specified date
  -c --cursor=CURSOR         Show entries starting at the specified cursor
     --after-cursor=CURSOR   Show entries after the specified cursor
     --show-cursor           Print the cursor after all the entries
     --cursor-file=FILE      Show entries after cursor in FILE and update FILE
  -b --boot[=ID]             Show current boot or the specified boot
     --list-boots            Show terse information about recorded boots
  -k --dmesg                 Show kernel message log from the current boot
  -u --unit=UNIT             Show logs from the specified unit
     --user-unit=UNIT        Show logs from the specified user unit
  -t --identifier=STRING     Show entries with the specified syslog identifier
  -p --priority=RANGE        Show entries with the specified priority
     --facility=FACILITY...  Show entries with the specified facilities
  -g --grep=PATTERN          Show entries with MESSAGE matching PATTERN
     --case-sensitive[=BOOL] Force case sensitive or insensitive matching
  -e --pager-end             Immediately jump to the end in the pager
  -f --follow                Follow the journal
  -n --lines[=INTEGER]       Number of journal entries to show
     --no-tail               Show all lines, even in follow mode
  -r --reverse               Show the newest entries first
  -o --output=STRING         Change journal output mode (short, short-precise,
                               short-iso, short-iso-precise, short-full,
                               short-monotonic, short-unix, verbose, export,
                               json, json-pretty, json-sse, json-seq, cat,
                               with-unit)
     --output-fields=LIST    Select fields to print in verbose/export/json modes
     --utc                   Express time in Coordinated Universal Time (UTC)
  -x --catalog               Add message explanations where available
     --no-full               Ellipsize fields
  -a --all                   Show all fields, including long and unprintable
  -q --quiet                 Do not show info messages and privilege warning
     --no-pager              Do not pipe output into a pager
     --no-hostname           Suppress output of hostname field
  -m --merge                 Show entries from all available journals
  -D --directory=PATH        Show journal files from directory
     --file=PATH             Show journal file
     --root=ROOT             Operate on files below a root directory
     --image=IMAGE           Operate on files in filesystem image
     --namespace=NAMESPACE   Show journal data from specified namespace
     --interval=TIME         Time interval for changing the FSS sealing key
     --verify-key=KEY        Specify FSS verification key
     --force                 Override of the FSS key pair with --setup-keys

Commands:
  -h --help                  Show this help text
     --version               Show package version
  -N --fields                List all field names currently used
  -F --field=FIELD           List all values that a specified field takes
     --disk-usage            Show total disk usage of all journal files
     --vacuum-size=BYTES     Reduce disk usage below specified size
     --vacuum-files=INT      Leave only the specified number of journal files
     --vacuum-time=TIME      Remove journal files older than specified time
     --verify                Verify journal file consistency
     --sync                  Synchronize unwritten journal messages to disk
     --relinquish-var        Stop logging to disk, log to temporary file system
     --smart-relinquish-var  Similar, but NOP if log directory is on root mount
     --flush                 Flush all journal data from /run into /var
     --rotate                Request immediate rotation of the journal files
     --header                Show journal header information
     --list-catalog          Show all message IDs in the catalog
     --dump-catalog          Show entries in the message catalog
     --update-catalog        Update the message catalog database
     --setup-keys            Generate a new FSS key pair

See the journalctl(1) man page for details.

 

'Linux' 카테고리의 다른 글

proc fs smp_affinity  (0) 2025.09.19
sudo time  (0) 2025.09.17
dd 로 덤프 하면서 바로 압축하기  (0) 2025.07.24
gpiod - gpiomon  (0) 2025.07.17
scrub  (0) 2025.02.04
Posted by 구차니
게임/doom2026. 1. 19. 22:29

어찌어찌 개고생 끝에 깼네

귀찮아서(!) 크루시블로 아크바일 썰어 버리고

한참을 도망다니면서 머로더 잡아서 끝 -_-

 

 

같은 챕터인데 악마동네에서

 

갑자기 천사(?) 동네로 온느낌

 

그 와중에 두 타이탄 노예라

 

뿔 부러진것도 같은데 쌍둥이니?

 

아무튼 챕터 우르닥 시작!

 

먼가 거대로봇 같냐

 

날아나가서 슈슝하니 잼나긴 하다

 

칸 메이터 그리고 아이콘 오브 신

 

민지 와떠염!

 

손으로 깔아뭉갤줄 알았더니 토낀다?

Posted by 구차니
embeded/risc-v2026. 1. 19. 09:32

한국인이 작성한 risc v hdl

rv32i 를 xilinx  기반으로 구현한 듯.

[링크 : https://github.com/RISC-KC/basic_rv32s]

[링크 : https://news.hada.io/topic?id=25632]

'embeded > risc-v' 카테고리의 다른 글

risc-v sbc  (0) 2025.07.08
risc-v sv39  (0) 2023.11.18
milk-v duo(risc-v)  (0) 2023.11.18
부품 도착! + 주문 취소!  (0) 2023.11.02
오늘의 지름  (0) 2023.11.01
Posted by 구차니

아우 내 허리

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

새차 첫 장거리  (2) 2026.01.03
새해는 장보기  (0) 2026.01.01
오랫만에...? 외식!  (0) 2025.12.30
새차 세차  (0) 2025.12.27
추운 크리스마스  (0) 2025.12.25
Posted by 구차니
파일방2026. 1. 17. 18:56

esp32 보다가 멀티플랫폼 개발용 미들웨어라고 해야하나.. 그런걸 발견함

 

[링크 : https://platformio.org/]

[링크 : https://blog.humminglab.io/posts/platformio-1/]

 

먼가.. arduino 기반의 무언간가?

[링크 : https://m.blog.naver.com/alfee0/223441577548]

'파일방' 카테고리의 다른 글

elinks  (0) 2026.01.20
lvgl pro, square line studio  (0) 2026.01.09
directFB2  (0) 2026.01.09
nanoVG  (0) 2026.01.09
popos  (0) 2025.09.03
Posted by 구차니
embeded/esp322026. 1. 17. 18:54

회사가 망했나 안보이네?

whois 조회해보니 2024년 11우러 이후로는 업데이트 된적이 없다는데

2027년까진 구매되어있다는데 서버는 터진듯.

%kwhois    Domain Name: JCZN1688.COM
   Registry Domain ID: 2661762794_DOMAIN_COM-VRSN
   Registrar WHOIS Server: grs-whois.hichina.com
   Registrar URL: http://wanwang.aliyun.com
   Updated Date: 2024-11-15T01:42:33Z
   Creation Date: 2021-12-15T06:22:58Z
   Registry Expiry Date: 2027-12-15T06:22:58Z
   Registrar: Alibaba Cloud Computing Ltd. d/b/a HiChina (http://www.net.cn)
   Registrar IANA ID: 1599
   Registrar Abuse Contact Email: DomainAbuse@service.aliyun.com
   Registrar Abuse Contact Phone: +86.95187
   Domain Status: ok https://icann.org/epp#ok
   Name Server: DNS19.HICHINA.COM
   Name Server: DNS20.HICHINA.COM
   DNSSEC: unsigned
   URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2026-01-17T09:30:40Z <<<

[링크 : http://www.jczn1688.com/zlxz]

[링크 : https://www.reddit.com/r/esp32/comments/ws6n4u/unknown_schematic_for_esp322432s028_board_anyone/?tl=ko]

 

jczn 멀 어떻게 줄인거냐 -ㅁ-?!?!

 

확장 io와 온도/습도 센서용 인터페이스라..

[링크 : https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/blob/main/OriginalDocumentation/2-Specification/ESP32-2432S028%20Specifications-EN.pdf]

 

usb-c 가 하나만 있는 녀석으로 v2인가? 내꺼랑은 다르네 ㅠㅠ

[링크 : https://ko.aliexpress.com/item/1005005138982767.html?gatewayAdapt=bra2kor]

 

위의 링크는 깨진것 같아서 다시 상위부터 접속해보니 먼가 나오긴 한다.

2.8과 3.2를 받아봤는데 아무튼 내꺼랑은 다른 모델인듯..

LCD가 달라져서 바이너리 그대로 쓸수도 없을 것 같은데..

[링크 : http://pan.jczn1688.com/1/ESP32%20module]

 

2.8인치 에서 받아서 보는 중

microSD는 TF라고 해서 IO5 / IO18 / IO19 / IO23 으로 연결되고 esp-wroom-32 에서는 VSPI 로 연결된다.

LED-RGB는 단순(?) gpio로 on/off 하는 스타일

DAC는 io26 핀이고  dac2로 표시되어있는 부분

 

그 와중에 flash 라고 U4가 있는데 내꺼에는 부품이 없다. NC 처리된 모델인듯.

없으면 확인할게 하나 줄었으니 머 다행인가? ㅋㅋ

[링크 : https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/issues/261]

 

lcm이 TFT 인데 io2 / io12~1015 / io21 을 이용하여 연결되고

io2는 그냥 gpio 같고

io12~io15는 HSPI 포트로 연결된다. 이름부터 웬지 빨라보이네

 

 

원하는건 못 찾았는데

HSPI(spi2) VSPI (spi3)는  아무튼 빠르니까 이름이 좀더 붙은건가? qspi 같은 건 아닌거 같은데..

[링크 : https://documentation.espressif.com/esp32_technical_reference_manual_en.pdf#iomuxgpio]

'embeded > esp32' 카테고리의 다른 글

esp32-2432S028 데모 빌드  (0) 2026.01.21
esp32-2432S028 보드 st7789 spi lcd driver?  (0) 2026.01.16
esp32 와 spi lcd 성능 비..교?  (0) 2026.01.12
esp32 c6 zigbee thread matter  (0) 2026.01.10
esp32 benchmark  (0) 2025.11.18
Posted by 구차니