Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: встроенная web-камера Intel GC2355 в планшете Digma E203  (Прочитано 2255 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн molchunike

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Приветствую.
Купил ноут Digma e203 и поставил Linux. Драйвер вебкамеры не нашёлся.
В оригинальной винде определил, что вебкамеры там:
фронтальная -  "Intel Unicam Sensor GC2355"
задняя -  "Intel Unicam Sensor GC5005"
На форуме другого девайса Chuwi Hi10 Pro обнаружил, что у них тоже используется GC2355.
При этом на том девкайсе 2 операционки - Windows и Android(видимо x86). Значит драйвер под фронтальную вебку существует под linux-подобную операционку.
Как его оттуда извлечь? При условии что Chuwi у меня нет (но есть образ заводского Android на том форуме) и перенести в свою?
В линуксе новичок. Может быть драйвер есть и в инете?

Пользователь добавил сообщение 22 Июля 2018, 19:43:36:
распаковал образ и из него распоковал system.img а внутри по поиску "camera" нашёл:
/lib/libcamera_client.so
/lib/libcamera_metadata.so
/lib/libcameraservice.so
/lib/hw/camera.gmin.so
« Последнее редактирование: 23 Июля 2018, 13:09:40 от molchunike »

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
molchunike, здравствуйте!
Может быть драйвер есть и в инете?
Скорее всего это так. 
(Нажмите, чтобы показать/скрыть)
Думаю стоит начать с определения камер средствами-таки ядра.
1. Показывает ли что-нибудь sudo lshw | grep -i cameraЕсли показывает, прошу вывод sudo lshw | grep -i camera -A10 -B10 под спойлер
2. Прошу вывод lsusb (исходя из него запрошу следующий, если в нем увижу подобие веб-камеры)
3. Проверьте вывод lspci на наличие упоминаний о веб-камере, либо об устройствах Intel Unicam. К примеру, дает ли что-нибудь вывод lspci | grep -i unicam3. Предусмотрены ли на ноутбуке сочетания клавиш (Fn+???) для отключения/включения веб-камеры? Меняется ли что-то (в т.ч. в выводе тех же lsusb, lspci и lshw) если это сочетание понажимать?
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн molchunike

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
я бы попробовал запустить в LIVE-режиме ту сборку Android_X86, которую Вы считаете рабочей,
Проблема в том, что тот планшет больше похож на смартфон с виндой. В нём нет BIOS/UEFI и вместо установки там что-либо прошивается, через полноценный комп, соединённый кабелем специальной прогой для которой этот образ в специальном формате и разбит на разделы, как в смартфонах. У меня же планшет с UEFI. Поэтому пришлось потрудиться чтобы хотя бы извлечь файлы из того образа, а переделать под установщик наверно будет сложно без хороших знаний (а LiveCD и подавно)
(Нажмите, чтобы показать/скрыть)
Поэтому могу лишь попросить обладателей девайса запустить какую-либу комманду, но и там возможно root отключён производителем образа.

Запускал комманды после отключения клавиатуры от ноутбука-планшета (сенсорным экраном).
Напиминаю, что вебкамер должно найтись сразу 2, но интересует только передняя и в Chuwi используется именно она

lshw - с фильтрами - ничего. На всякий случай полный ответ комманды;
(Нажмите, чтобы показать/скрыть)

lsusb
(Нажмите, чтобы показать/скрыть)

lspci
(Нажмите, чтобы показать/скрыть)

Цитировать
Предусмотрены ли на ноутбуке сочетания клавиш
- нет

Пользователь добавил сообщение 23 Июля 2018, 00:00:47:
Кстати ноут идёт с 32ГБ памяти для винды и слотом М2, куда впихнул SSD и поставил linux именно туда.
То есть всё ещё можно посмотреть что выдаёт диспетчер устройств. Например:
Размещение - на Intel(R) Serial IO I2C Host Controller - 5AB0
ID оборудования - ACPI\VEN_GCSN&DEV_2355&SUBSYS_INTL-APL и ACPI\GCSN2355
имя в BIOS - \_SB.PCI0.I2C2.CAM4
« Последнее редактирование: 23 Июля 2018, 00:00:47 от molchunike »

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Android(видимо x86)
тот планшет больше похож на смартфон с виндой. В нём нет BIOS/UEFI и вместо установки там что-либо прошивается
Исходя из второго, я далек от мысли что имеем дело с Android_x86. Вероятнее всего обычный Android.
Так... По выводам команд - все грустно. Я в них никаких признаков ни одной из камер в упор не вижу. Прошу показать еще выводы (клавиатуру не отключайте - кто его знает, может она у Вас каким-то образом блокирует периферию, когда отключена аппаратно):lspci -knn
lsusb -t
dmesg | egrep -i "(error|fail|warning)"
ls /dev/ | grep video    #если пусто - так и напишите, что пусто

Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн molchunike

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
далек от мысли что имеем дело с Android_x86. Вероятнее всего обычный Android.
я хотел сказать, что этот андроид не ARM, так как основной процессор Intel, чтобы запускать как винду, так и андроид

Ещё добавлю, что старенькая USB камера работает в программе Cheese.

Клаву не отключал:
1) sudo lspci -knn
(Нажмите, чтобы показать/скрыть)

lsusb -t
(Нажмите, чтобы показать/скрыть)

dmesg | egrep -i "(error|fail|warning)"
(Нажмите, чтобы показать/скрыть)

ls /dev/ | grep video - пусто

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
molchunike, угу... Все интересней и интересней. Вот тут, похоже, наша проблема и кроется:
Цитировать
usb 1-5: device descriptor read/64, error -71
Здесь пытались решать подобную проблему. В качестве решения предлагался вариант (гарантий, естественно, никаких):sudo su
echo Y > /sys/module/usbcore/parameters/old_scheme_first
exit
После чего перезагрузиться и проверить: поменялось ли чего... До этой манипуляции запастись загрузочной флешкой.
(Нажмите, чтобы показать/скрыть)
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн molchunike

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Выполнил. Перезагрузился успешно. Не изменились выводы никаких комманд.
После перезагрузки значение Y возвращается в N
Вебка разумеется не заработала тоже.

Только указанная строчка с ошибкой пропала.
Причём даже если перезгрузиться ещё раз, когда значению Y неоткуда взяться

Хотел написать, что меняются номера в "lsusb -t" но похоже это связано с отключением и включением клавиатуры, а не с включеним диапазона 0-5

А что за 2 устройства на порту 7? Возможно тачскрин, но с чего бы ему быть "Беспроводным"?
« Последнее редактирование: 23 Июля 2018, 02:24:43 от molchunike »

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Только указанная строчка с ошибкой пропала.
Туда ей и дорога ))
А что за 2 устройства на порту 7?
Есть мнение, что это имевший место ранее:
Bus 001 Device 003: ID 8087:0a2a Intel Corp.Который на поверку оказывается wifi модулем от Intel.
molchunike, пока идей нет. Дайте для размышления еще usb-devicesИ довольно шкодный вопрос: а Вы с какими параметрами ядра грузитесь? Часом acpi=off или тому подобное не применены? Прошу показать: cat /proc/cmdline
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн molchunike

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
usb-devices
(Нажмите, чтобы показать/скрыть)

Правильно ли я понимаю, что вебка должна быть обязательно usb-устройством и проблема в определении в системе железки перед вебкой?
Сам драйвер вебкамеры штука универсальная, вроде usb-мышки? тоесть если проблему выше решим, то высока вероятность, что специальный драйвер не понадобится?

А что если камеры подключены через USB 1.0?

$ cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-4.15.0-20-generic root=UUID=c2ab13c0-5e7f-4397-bfa6-9c3e2654b4c3 ro quiet splash vt.handoff=1

А эта ошибка нам важна?
[    0.312005] ACPI Warning: GPE type mismatch (level/edge) (20170831/evxface-826)
ставил Linux Mint 19 - 64. Специально acpi=off не делал
C ядром игрался только в вопросе тачскрина, но вебка и ранее не работала. Описал тут в пункте 11- https://4pda.ru/forum/index.php?s=&showtopic=908528&view=findpost&p=75295674
А так как в мануалах утверждалось, что проделанное мною справедливо и для андроид-86, то потому и вспомнил про китай-планшеты от Chuwi, и на одном из них и в самом деле оказалась такая же вебка.

Врятли это важно (так как и в LiveCD всё также) у меня 3 раздела. Один /boot, второй - зашифрованная система, где всё остальное системное. Третий раздел тоже зашифрован, но в нём системы нет(и это не /home). Храню все данные на третьем разделе.

Который на поверку оказывается wifi модулем от Intel.
Это я так понимаю производитель взял плату от предыдущей модели ноута и решил что "32ГБ маловато" и переставил WiFi из PCI-E в USB, а освободившееся место гордо назвал "слот под SSD"? Кстати у меня можно использовать SSD c PCI-E контроллером или только SATA?

Пользователь добавил сообщение 23 Июля 2018, 23:36:03:
Нашёл нескомпилированный драйвер, но не понятно как его скомпилировать под ubuntu/mint
https://raw.githubusercontent.com/friendlyarm/h3_lichee/master/linux-3.4/drivers/media/video/sunxi-vfe/device/gc2355.c
« Последнее редактирование: 23 Июля 2018, 23:36:03 от molchunike »

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Правильно ли я понимаю, что вебка должна быть обязательно usb-устройством
Не совсем. В Вашем случае я пока не понимаю как она реализована. Типовой вариант: на материнской плате есть шина USB, и на место одного из портов распаивается производителем шлейф WEB-камеры. Однако это типовой вариант для ноутбука, так сказать. Вы же имеете дело с устройством новой формации. В этом устройстве все может быть реализовано иначе. К примеру, может быть устроена классически (тогда не понятно почему ее ни lsusb ни usb-devices не видят), проключена через шину PCI (тогда не ясно где она в том же lspci и lshw), или же просто допускаю, что вся вебкамера (помимо матрицы) интегрирована в процессор (в этом случае понятно почему в Windows у нее такой странный (в моем понимании, - а понимаю я не так много, как хотелось бы) адрес, кроме того тогда понятно почему она не так-то просто подтягивается). Я бы попробовал на данном этапе поэкспериментировать с параметрами ядра, - проверить загрузку с параметрами acpi=force, pci=acpi, noapic, nolapic, irqpoll, acpi_osi=Linux (причем не намертво "вшивать" их в grub2, а применять по одному параметру непосредственно при загрузке по аналогии с применением параметра nomodeset, описанным здесь, и смотреть на изменения в системе [на выхлоп lshw и на выхлоп ls /dev/ | grep video])
ro quiet splash vt.handoff=1
Вот это интересно: для чего вводился параметр vt.handoff=1? Нигде не могу найти толкового описания. Откуда Вы его взяли, и с какой целью внедрили? Если его убрать из строки загрузки что меняется в системе? Появляются ли новые устройства?
Кстати у меня можно использовать SSD c PCI-E контроллером или только SATA?
На этот вопрос я не уверен что Вам кто-нибудь ответит из тех, кто устройство в руках не держал и не пробовал это делать. В одном уверен: я не отвечу точно :)
Нашёл нескомпилированный драйвер, но не понятно как его скомпилировать под ubuntu/mint
Насколько я понимаю, это не тот драйвер, что можно отдельно взять и скомпилировать. Приведенная Вами ссылка ссылается на кусок ядра версии 3.4, т.е. компиллировать надо целиком ядро, а отдельный драйвер не удастся. Как вариант, можно копирнуть себе этот текст, сохранив его в файл mkdir -p $HOME/gc2355_driver
wget --output-document=$HOME/gc2355_driver/gc2355.c https://raw.githubusercontent.com/friendlyarm/h3_lichee/master/linux-3.4/drivers/media/video/sunxi-vfe/device/gc2355.c
Однако Вам это вряд ли что-то даст, поскольку make не найдет ни заголовка, ни makefile (как там это правильно называется), а потому попытки скомпиллировать будут оборачиваться ошибкой вида "Не заданы цели и не найден make-файл.  Останов.". Можно попробовать компилировать через gcc, выполнив:cd $HOME/gc2355_driver
gcc gc2355.c
Но тогда пойдет ругань на отсутствие файлов, на которые ссылается найденный Вами код (а их там в заголовке масса). Первым файлом станет linux/init.h, и далее - по нарастающей. Либо выкачивать все эти файлы с того же источника на github, и получить в последствии (с высокой долей вероятности) ядро версии 3.4 (которое с той же долей вероятности у Вас не взлетит), либо выкачивать аналогичные файлы исходников для своей версии ядра (той, что у Вас выдает uname -r), и, к примеру, получить ядро, в которое данный драйвер интегрирован (после - попробовать с этим ядром стартовать). Я, к сожалению (хотя, возможно что и к счастью) пока с необходимостью таких манипуляций не сталкивался, - подробнее не подскажу (да и конечного успеха в случае, если Вы решите пойти по данному пути, к сожалению не могу гарантировать). К тому же нет гарантий, что данный файл не предполагает каких-либо модификаций в других исходниках ядра - возможно нужно подставлять что-то от Вашего родного системного ядра, что-то от выложенного на github ядра 3.4 (а что-то и вовсе модифицировать, притом понимая как это делать и что именно нужно делать). Плюс ко всему: у Вас более новое ядро. По идее, это должно означать, что поддержка данного устройства уже должна быть интегрирована. В заголовке найденного Вами файла фигурирует
Цитировать
A V4L2 driver for GC2355 cameras.
У меня в системе, к примеру, поиск по ключу v4l2 дает приличный выхлоп: find /lib/modules -type f -iname *v4l2*Посмотрите у себя выхлоп lsmod | grep v4l2Вот пример выхлопа на моей машине:
Цитировать
lsmod | grep v4l2
videobuf2_v4l2         24576  1 uvcvideo
videobuf2_core         40960  2 uvcvideo,videobuf2_v4l2
videodev              180224  3 uvcvideo,videobuf2_core,videobuf2_v4l2
Если он у Вас пуст, возможно достаточно будет выполнить что-то вроде:sudo modprobe uvcvideo
sudo modprobe videobuf2_v4l2
sudo modprobe videobuf2_core
sudo modprobe videodev
sudo modprobe media
Самое страшное, что Вы можете получить - kernel panic. После перезагрузки, теоретически, все будет так, будто Вы и не вводили команд. Попробуйте этот метод. Если пойдет ругань терминала - подскажите на что именно. Если ругани не будет, проверьте выхлопы: lsmod | grep v4l2
lsmod | grep uvcvideo
dmesg | egrep -i "(error|fail|warning)"
dmesg | tail -n10
ls /dev/ | grep video
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн molchunike

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
допускаю, что вся вебкамера (помимо матрицы) интегрирована в процессор
Бывают вебкамеры встроенные в процессор? Тогда может быть это оно по соседству с Аудио?
(Нажмите, чтобы показать/скрыть)
vt.handoff=1
при загрузке через клавишу "е" (тоесть по методу с вашей ссылки) там этот параметр выглядит как $vt_handoff (без=1).
Его стирание не изменило lshw или ls /dev/ | grep video
acpi=force, pci=acpi, noapic, nolapic, irqpoll, acpi_osi=Linux
Добавлял поочерёдно справа от $vt_handoff
Большинство параметров ничего не поменяло, кроме
1)noapic - консоль с ошибками после ввода ключа шифрования (до экрана ввода пароля пользователя)  https://hkar.ru/UYSE
2)nolapic - консоль с ошибками ДО ввода ключа шифрования. Ошибки похожи на предыдущие с дополнительной строкой.https://hkar.ru/UYSF
Приведенная Вами ссылка ссылается на кусок ядра версии 3.4
Да, драйвер я пытался скомпилисть, со своими скромными познаниями в "С". Но действительно много связей на старый v4l. Скачав отдельно старые *.h файлы получил *.ko файл, который через modprobe не подключается с кучей ошибок.

процедуры с подключением модулей (не зависало и не вылетало):
(Нажмите, чтобы показать/скрыть)

Ещё попробовал hwinfo
(Нажмите, чтобы показать/скрыть)


Вообще довольно странно ведёт себя диод у камеры. В Windows он не горит при её использовании в скапо-программах, так что врятли он имеет отношение к самой камеры (но зачем он тогда именно там, ан е сбоку где-нибудь). Он умеет только гореть красным в процессе зарядки (когда батарея не 100%) и зелёным в первые секунды загрузки. При вводе после "е" он горел постоянно. https://hkar.ru/UYSD

Также, врятли тут можно что-то разглядеть полезное, для понимания подключения, но я разобрал девайс https://4pda.ru/forum/index.php?s=&showtopic=908528&view=findpost&p=75585529


« Последнее редактирование: 31 Июля 2018, 23:21:09 от molchunike »

 

Страница сгенерирована за 0.077 секунд. Запросов: 25.