커널 드라이버 소스 및 .deb 패키지가 제공되는 경우 비공식 Orange Pi 5 Mipi-DSI 디스플레이가 Orange Pi 5 Arch Linux 시스템에서 작동하도록 하려면 어떻게 해야 합니까?

커널 드라이버 소스 및 .deb 패키지가 제공되는 경우 비공식 Orange Pi 5 Mipi-DSI 디스플레이가 Orange Pi 5 Arch Linux 시스템에서 작동하도록 하려면 어떻게 해야 합니까?

한동안 나는 AliExpress에서 주문한 모니터와 함께 작동하도록 노력해 왔습니다.Orange Pi 5용 비공식 7Ji Arch Linux 배포판, 소용이 없습니다. 아마도 내 더 나은 판단과는 달리 나는 OPi의 원래 Arch 배포판보다 이 배포판을 선호합니다. 왜냐하면 나는 OPi5에서 여전히 잘 작동하는 베어본 Arch를 원했고 디스플레이 외에도 잘 작동하기 때문입니다. 다음과 같이 표시됨5" 4채널 DSI, 모델 "WKS50HD005", 유용하다면.

먼저 OPi5의 전면 LCD2 포트에 대해 dtbo 재정의를 활성화해야 한다는 것을 알았고 나중에 그것이 .dtbo 파일을 가리키지 만 내장된 .dtbo 파일을 가리키는 FDTOVERLAYS항목을 통해 지정 되었음을 알게 되었습니다./boot/extlinux/extlinux.conf/boot/dtbs/linux-aarch64-orangepi5/rockchip/overlay/rk3588-lcd2.dtbo디스플레이 백라이트만 가려져 있습니다. 그래서 지금까지 며칠 동안 매일매일 작동하도록 노력해 왔습니다.

디스플레이의 상점 페이지에서 링크를 제공합니다.Google 드라이브의 드라이버.deb 패키지가 포함된 Orange Pi 5 디렉터리가 포함되어 있습니다.패널-innolux-afj101-ba2131.c커널 모듈 및읽어보기.txt. readme.txt에는 커널 컴파일 지침이 있습니다.Baidu의 원본 소스(판매자가 나중에 링크를 주었지만,거기엔 계정이 없어따라서 아무것도 다운로드할 수 없습니다.)

처음에는 단순히 Arch의 dpkg를 사용하여 .deb를 설치하는 것으로 충분하다고 생각했지만 시스템이 벽돌이 되었습니다(나중에 이 패키지가다른내 커널 디렉터리 대신 /lib/modules/ 커널 디렉터리), 그 자체로는 문제가 되지 않았지만 부팅한 NVMe 드라이브에 Arch 이미지를 다시 플래시하고 OPi의 Arch 설치를 사용하여 백업 SD 카드를 플래시했기 때문에 그 자체로는 문제가 되지 않았습니다. 참고로 .deb 커널은 ver. 5.10.1107Ji의 Arch 커널 버전을 비교해 보세요. 5.10.110-6, 그래서 여전히 어느 정도 호환성이 있어야 한다고 생각합니다.

그런 다음 제공된 .c 모듈을 컴파일해야 한다고 생각하여 다음으로 시작했습니다.7지창고, Makefile을 만들고 다음과 같이 컴파일하십시오.panel-innolux-afj101-ba2131.ko파일이 로 출력되고 있습니다 /lib/modules/5.10.110-6-aarch64-orangepi5+/kernel/drivers/gpu/drm/panel/. 또한 kernel/drivers/gpu/drm/panel/panel-innolux-afj101-ba2131.ko(.readme.txt에 따르면) 둘 다에 줄모듈.시퀀스그리고 새로운 /etc/modules-load.d/.conf 파일은 여전히 ​​​​소용이 없습니다.

그런 다음 .deb 파일의 압축을 풀기로 결정하고 거의 아무것도 발견하지 못했습니다. /kernel/drivers/gpu/모듈은 물론 디렉토리도 없습니다.모듈.내장다음 줄을 포함합니다:

커널/드라이버/gpu/drm/panel/panel-simple.ko
커널/드라이버/gpu/drm/panel/panel-innolux-afj101-ba2131.ko

.deb에서 다음을 찾았습니다.rk3588-lcd2.dtbo파일은 lib/modules/linux-image-legacy-rockchip-rk3588/rockchip/overlay7Ji의 Arch 내장 파일과 비슷한 디렉토리에 있지만 /boot/dtbs/linux-aarch64-orangepi5/rockchip/overlay파일이 제가 만든 내장 파일과 다르기 때문에 원래 내장 파일 옆에 넣어 보았습니다.rk3588-lcd2.dtbo및 링크extlinux.conf그것에. 결과적으로 디스플레이에는 백라이트도 없습니다.

그렙"디지털SI"dmesg에서내장형 dtbo와 함께 제공보여주다:

[7.606294]dw-mipi-dsi2 fde30000.dsi:[drm:dw_mipi_dsi2_bind]실수패널 또는 브리지를 찾을 수 없습니다: -517
[8.530159] rockchip-drm 디스플레이 하위 시스템: 바인딩 fde30000.dsi(ops 0xffffffc0111897e0)
[9.151023] dw-mipi-dsi2 fde30000.dsi: [drm:dw_mipi_dsi2_encoder_enable] 최종 DSI-Link 대역폭: 40 3300 x 4Kbps

*더 움켜쥐고 있어”디스플레이 하위 시스템":

[7.594906] rockchip-drm 디스플레이 하위 시스템: hdmi0_phy_pll을 얻을 수 없습니다: -517
[7.594916] rockchip-drm 디스플레이 하위 시스템: hdmi1_phy_pll을 얻을 수 없습니다: -2
[7.606247] rockchip-drm 디스플레이 하위 시스템: fdd90000.vop를 바인딩합니다(작업 0xffffffc01117f730 )
[8.510393] rockchip-drm 디스플레이 하위 시스템: HDMI0_PHY_PLL을 얻을 수 없습니다: -517
[8.510408] rockchip-drm 디스플레이-ubsystem: 디스플레이 하위 시스템: hdmi1_phy_phy_pll을 얻을 수 없습니다:
fori에 바인딩됨(작업 0xffffffc01117f730)
[8.530 159] 락칩-drm 디스플레이 하위 시스템:fde30000.dsi 바인딩(작업 0xffffffc0111897e0)
[8.531866] rockchip-drm 디스플레이 하위 시스템: 로더 메모리를 구문 분석할 수 없습니다.
[9.262777] rockchip-drm 디스플레이 하위 시스템: ] fb0: rockchipdrmfb 프레임 버퍼 장치
[9.264376] [drm] 시간 동안 0 디스플레이 하위 시스템이 rockchip 3.0.0 20140818을 초기화했습니다.

그리고 이렇게 해.deb에서 제공하는 dtbo를 사용하세요.:

[7.606818]dw-mipi-dsi2 fde20000.dsi:[drm:dw_mipi_dsi2_bind]실수패널 또는 브리지를 찾을 수 없습니다: -517
[9.139902] dw-mipi-dsi2 fde20000.dsi: [drm:dw_mipi_dsi2_encoder_enable] 최종 DSI-Link 대역폭: 414000 x 4Kbps

내 코어가 Mipi-DSI 모니터를 작동시키려는 현재의 꿈을 현실로 만드는 데 동의할지 마지못해 궁금합니다. FDTOVERLAYS원래 OPi5의 Arch가 해당 모니터를 가리킨다는 사실이 많은 도움이 됩니다.rk3588-lcd2.dtbo또한 디스플레이에 백라이트만 제공합니다. 하지만...생각해 보는 데 별로 도움이 되지는 않습니다.작동 안함. 나는 Linux 커널과 그 모듈에 대한 경험이 많지 않지만 이 프로젝트를 작동시키는 데 얻을 수 있는 모든 도움과 지식에 진심으로 감사드립니다. 또한 도움이 될 수 있는 추가 정보도 제공하도록 하겠습니다.

이 문제가 주목할 가치가 있다고 미리 생각해 주신 모든 분들께 감사드립니다.
(PS. Orange-pi 태그가 없으므로 #raspberry-pi)

관련 정보