Камера MiPi и Ubuntu Linux: Новый ядро 6.5 больше не работает

Вопрос или проблема

Я следовал шагам из этой инструкции (https://wiki.ubuntu.com/Lenovo), чтобы камера MiPi заработала на моем Thinkpad X1Gen10 с Ubuntu 22.04.

Эти шаги работают с версией 6.2:

$ sudo apt install linux-modules-ipu6-generic-hwe-22.04 linux-modules-ivsc-generic-hwe-22.04 (Для общего ядра, например, 6.2.0-32-generic)
$ sudo apt install linux-modules-ipu6-oem-22.04c linux-modules-ivsc-oem-22.04c (Для OEM ядра, например, 6.1.0-1021-oem)
$ sudo add-apt-repository ppa:oem-solutions-group/intel-ipu6 (Этот PPA все еще в разработке, возможно, будет нестабилен, в будущем этот шаг не понадобится)
$ sudo apt install libcamhal0
$ sudo add-apt-repository -r ppa:oem-solutions-group/intel-ipu6 (PPA будет продолжать обновлять пакеты с upstream, может быть нарушен)
$ sudo reboot

Это работало с ядром 6.2, но теперь перестало работать при загрузке с новым ядром версии 6.5.0.14.14. Камера больше не запускается, и я получаю черный экран вместо изображения с камеры в любом приложении.

Есть ли исправление для версии 6.5?

Спасибо!

ОБНОВЛЕНИЕ: Пока исправлений нет, Intel движется черепашьими темпами:

https://github.com/intel/ipu6-drivers/issues/204

ИЗМЕНЕНИЕ:

выполнение команды sudo gst-launch-1.0 icamerasrc ! autovideosink
выводит

[01-19 23:06:16.237] CamHAL[ERR] Malformed ET range in exposure time range configuration
[01-19 23:06:16.237] CamHAL[ERR] Parse AE eExposure time range failed
[01-19 23:06:16.237] CamHAL[ERR] Malformed ET range in exposure time range configuration
[01-19 23:06:16.237] CamHAL[ERR] Parse AE gain range failed
[01-19 23:06:16.238] CamHAL[ERR] Malformed ET range in exposure time range configuration
[01-19 23:06:16.238] CamHAL[ERR] Parse AE eExposure time range failed
[01-19 23:06:16.238] CamHAL[ERR] Malformed ET range in exposure time range configuration
[01-19 23:06:16.238] CamHAL[ERR] Parse AE gain range failed
[01-19 23:06:16.239] CamHAL[ERR] Malformed ET range in exposure time range configuration
[01-19 23:06:16.239] CamHAL[ERR] Parse AE eExposure time range failed

Установка конвейера в состояние PAUSED ...
[01-19 23:06:18.506] CamHAL[INF] aiqb file name ov13b10.aiqb
[01-19 23:06:18.509] CamHAL[INF] aiqb file name ov13b10.aiqb
[01-19 23:06:18.511] CamHAL[INF] (null), media format in tuning: 0, media format for aic 0.
[01-19 23:06:18.511] CamHAL[INF] aiqb file name ov13b10.aiqb
[01-19 23:06:18.511] CamHAL[INF] aiqb file name ov13b10.aiqb
[01-19 23:06:18.512] CamHAL[INF] (null), media format in tuning: 0, media format for aic 0.
[01-19 23:06:18.512] CamHAL[INF] aiqb file name ov8856.aiqb
[01-19 23:06:18.514] CamHAL[INF] aiqb file name ov8856.aiqb
[01-19 23:06:18.514] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.514] CamHAL[INF] aiqb file name ov8856.aiqb
[01-19 23:06:18.514] CamHAL[INF] aiqb file name ov8856.aiqb
[01-19 23:06:18.515] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.515] CamHAL[INF] aiqb file name ov01a10.aiqb
[01-19 23:06:18.517] CamHAL[INF] aiqb file name ov01a10.aiqb
[01-19 23:06:18.518] CamHAL[INF] (null), media format in tuning: 0, media format for aic 0.
[01-19 23:06:18.518] CamHAL[INF] aiqb file name ov01a10.aiqb
[01-19 23:06:18.518] CamHAL[INF] aiqb file name ov01a10.aiqb
[01-19 23:06:18.519] CamHAL[INF] (null), media format in tuning: 0, media format for aic 0.
[01-19 23:06:18.519] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[01-19 23:06:18.521] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[01-19 23:06:18.521] CamHAL[INF] (null), media format in tuning: 0, media format for aic 0.
[01-19 23:06:18.521] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[01-19 23:06:18.523] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[01-19 23:06:18.523] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.523] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[01-19 23:06:18.525] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[01-19 23:06:18.525] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.525] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[01-19 23:06:18.525] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[01-19 23:06:18.526] CamHAL[INF] (null), media format in tuning: 0, media format for aic 0.
[01-19 23:06:18.526] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[01-19 23:06:18.526] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[01-19 23:06:18.526] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.526] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[01-19 23:06:18.526] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[01-19 23:06:18.527] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.527] CamHAL[INF] aiqb file name OV2740_CJFLE23_ADL.aiqb
[01-19 23:06:18.529] CamHAL[INF] aiqb file name OV2740_CJFLE23_ADL.aiqb
[01-19 23:06:18.529] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.529] CamHAL[INF] aiqb file name HM2170_1SG205N3_ADL.aiqb
[01-19 23:06:18.531] CamHAL[INF] aiqb file name HM2170_1SG205N3_ADL.aiqb
[01-19 23:06:18.532] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.532] CamHAL[INF] aiqb file name HM2170_CJFME18_ADL.aiqb
[01-19 23:06:18.534] CamHAL[INF] aiqb file name HM2170_CJFME18_ADL.aiqb
[01-19 23:06:18.534] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.534] CamHAL[INF] aiqb file name HM2170_1SG205N3_ADL.aiqb
[01-19 23:06:18.534] CamHAL[INF] aiqb file name HM2170_1SG205N3_ADL.aiqb
[01-19 23:06:18.535] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.535] CamHAL[INF] aiqb file name HM2170_CJFME18_ADL.aiqb
[01-19 23:06:18.535] CamHAL[INF] aiqb file name HM2170_CJFME18_ADL.aiqb
[01-19 23:06:18.535] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.535] CamHAL[INF] aiqb file name HI556_1BG502T3_ADL.aiqb
[01-19 23:06:18.538] CamHAL[INF] aiqb file name HI556_1BG502T3_ADL.aiqb
[01-19 23:06:18.538] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.538] CamHAL[INF] aiqb file name HI556_CJFLE25_ADL.aiqb
[01-19 23:06:18.540] CamHAL[INF] aiqb file name HI556_CJFLE25_ADL.aiqb
[01-19 23:06:18.541] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.541] CamHAL[INF] aiqb file name ov01a1s.aiqb
[01-19 23:06:18.543] CamHAL[INF] aiqb file name ov01a1s.aiqb
[01-19 23:06:18.545] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.545] CamHAL[INF] aiqb file name OV08A10_YHUT_ADL.aiqb
[01-19 23:06:18.547] CamHAL[INF] aiqb file name OV08A10_YHUT_ADL.aiqb
[01-19 23:06:18.548] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.548] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.550] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.550] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.550] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.550] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.550] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.550] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.550] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.551] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.551] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.551] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.551] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.551] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.551] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.552] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.552] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.552] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.552] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.552] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.552] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.552] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.552] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.552] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.553] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.553] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.553] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.553] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.553] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.553] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.553] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.553] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.553] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.553] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.553] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.553] CamHAL[INF] aiqb file name IMX390_HDR_TGL.aiqb
[01-19 23:06:18.554] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.554] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.557] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.557] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.557] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.557] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.557] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.557] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.557] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.558] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.558] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.558] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.558] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.558] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.558] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.558] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.558] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.558] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.558] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.558] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.558] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.558] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.558] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.558] CamHAL[INF] aiqb file name AR0234_TGL_10bits.aiqb
[01-19 23:06:18.558] CamHAL[ERR] invalid media format, default value used.
[01-19 23:06:18.558] CamHAL[INF] (null), media format in tuning: 0, media format for aic 0.
[01-19 23:06:18.558] CamHAL[INF] (null), media format in tuning: 0, media format for aic 0.
[01-19 23:06:18.558] CamHAL[INF] (null), media format in tuning: 0, media format for aic 0.
[01-19 23:06:18.558] CamHAL[INF] (null), media format in tuning: 0, media format for aic 0.
[01-19 23:06:18.559] CamHAL[ERR] Failed to find DevName for cameraId: 0, get video node: ov13b10 , devname: /dev/v4l-subdev1
Конвейер активен и не требует предварительного заполнения ...
Конвейер заполнен ...
Установка конвейера в состояние PLAYING ...
Новые часы: GstSystemClock
[01-19 23:06:18.586] CamHAL[ERR] Get entity fail for calling getEntityById
[01-19 23:06:18.586] CamHAL[ERR] Get entity fail for calling getEntityById
[01-19 23:06:18.586] CamHAL[ERR] setup Link ov13b10  [-1:0] ==> Intel IPU6 CSI-2  [-1x0] enable 1 failed.
[01-19 23:06:18.586] CamHAL[ERR] set MediaCtlConf McLink failed: ret = -1
[01-19 23:06:18.586] CamHAL[ERR] set up mediaCtl failed
[01-19 23:06:18.586] CamHAL[ERR] @configure Device Configure failed
[01-19 23:06:18.586] CamHAL[ERR] failed to config streams.
ОШИБКА: от элемента /GstPipeline:pipeline0/Gstcamerasrc:camerasrc0: src pad: Внутренняя ошибка потока данных.
Дополнительная информация для отладки:
gstcambasesrc.cpp(3143): gst_cam_base_src_loop (): /GstPipeline:pipeline0/Gstcamerasrc:camerasrc0:
задача потоковой передачи приостановлена, причина not-negotiated (-4)
Выполнение завершено через 0:00:00.016210934
Установка конвейера в состояние NULL ...
Очистка конвейера ...

Работа над тем, чтобы камера работала под Linux, продолжается, и установленные вами модули, вероятно, нестабильны, так как находятся в режиме разработки. Я иногда обнаруживал, что камера MIPI работает, а иногда нет. Лучшая инструкция, которую я нашел для Ubuntu, находится здесь: https://dshedd.com/2023/07/18/fixing-lenovos-mipi-camera-problems-on-ubuntu-22-04/, и совет заключается в том, чтобы отключить репозиторий, содержащий различные компоненты, которые вы установили, как только они заработали. Таким образом, будущее обновление не сломает вашу систему. Поэтому продолжайте проверять, работает ли камера (моя система на Lenovo x1 yoga в настоящее время работает в Zoom, но не на тестовой странице здесь https://mozilla.github.io/webrtc-landing/gum_test.html или в Cheese). Затем, как только все будет работать достаточно хорошо, отключите репозиторий через “sudo add-apt-repository -r ppa:oem-solutions-group/intel-ipu6”.

Как насчет:

sudo apt install linux-modules-ipu6-oem-22.04d linux-modules-ivsc-oem-22.04d

Работает для меня на
6.5.0-1018-oem на x1-yoga (gen8), хотя и не всегда стабильно.

Примечание: *-22.04d (вместо *-22.04c).

Ответ или решение

Проблемы с поддержкой MiPi-камеры на ноутбуках Lenovo Thinkpad X1 Gen10 после обновления до ядра Linux 6.5 связаны с несовместимостью новых модулей драйверов с обновленным ядром. Ваше старое решение, работавшее на ядре 6.2, оказалось устаревшим из-за изменений в программном обеспечении.

Проблема

Судя по описанию, данные модули были установлены из нестабильного PPA репозитория oem-solutions-group/intel-ipu6, который находится в стадии разработки и может содержать ошибки или несовместимости. Это привело к проблемам с камерой на ядре версии 6.5, что отразилось в сообщениях об ошибках при запуске команды gst-launch-1.0.

Решение

  1. Обновление модулей драйверов:

    • Попробуйте обновить модули до версии linux-modules-ipu6-oem-22.04d и linux-modules-ivsc-oem-22.04d, как предложил один из пользователей. Эти модули могут содержать исправления для работы с вашим конкретным оборудованием на ядре 6.5.
    sudo apt install linux-modules-ipu6-oem-22.04d linux-modules-ivsc-oem-22.04d
  2. Обзор и устранение установки PPA:

    • Убедитесь, что после установки необходимых модулей репозиторий PPA удален, чтобы избежать дальнейших неожиданных обновлений, которые могут нарушить конфигурацию.
    sudo add-apt-repository -r ppa:oem-solutions-group/intel-ipu6
  3. Проверка совместимости:

Вывод

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

Оцените материал
Добавить комментарий

Капча загружается...