Kamera auf Samsung Galaxy Book

Debian auf Notebooks und speziellen Geräten wie eingebetteten Systemen, Routern, Set-Top-Boxen, ...
Antworten
Benutzeravatar
NetFoxy
Beiträge: 107
Registriert: 12.11.2009 17:53:50

Kamera auf Samsung Galaxy Book

Beitrag von NetFoxy » 06.02.2020 11:16:02

Hallo an alle!

Ich suche nach einer Möglichkeit die Kamera (wenigstens eine von beiden) auf meinem Samsung Galaxy Book zu benutzen. Leider finde ich sie nicht mit lspci oder lsusb. Die Ausgabe von lshw sagt auch nichts über eine Kamera. Gibt es noch andere Möglichkeiten nach der Kamera zu suchen?

Beste Grüße
Andreas

Apfelmann
Beiträge: 669
Registriert: 15.01.2010 20:48:45
Kontaktdaten:

Re: Kamera auf Samsung Galaxy Book

Beitrag von Apfelmann » 06.02.2020 13:35:13


Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: Kamera auf Samsung Galaxy Book

Beitrag von MartinV » 06.02.2020 15:27:24

Probier mal:

Code: Alles auswählen

lsusb
Außerdem Debiangphoto2 mit

Code: Alles auswählen

gphoto2 --auto-detect
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

Benutzeravatar
NetFoxy
Beiträge: 107
Registriert: 12.11.2009 17:53:50

Re: Kamera auf Samsung Galaxy Book

Beitrag von NetFoxy » 12.02.2020 18:03:08

Sorry wegen der späten Rückmeldung. War auf Fortbildung.

Also, hardinfo zeigt keine Kamera oder etwas Ähnliches an. lsusb auch nicht. gphoto2 erkennt auch nichts, die Liste ist leer.

Da Windows das Ding erkennt, wundert es mich etwas, wie es sein kann, das Linux so gar nichts sieht....

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Kamera auf Samsung Galaxy Book

Beitrag von Tintom » 12.02.2020 19:39:57

NetFoxy hat geschrieben:Da Windows das Ding erkennt, wundert es mich etwas, wie es sein kann, das Linux so gar nichts sieht....
Bitte immer die kompletten Ausgaben der Befehle posten!

Wenn man den Angaben von hier Glauben schenken darf, dann sieht das hier nach einer Kamera aus:
00:05.0 Multimedia controller: Intel Corporation Skylake Imaging Unit (rev 01)

Wenn man dann noch ein bisschen weiter fahndet, landet man hier und da heißt es:
After some research, it seems the webcams depend on a new intel driver which will be released in kernel 4.16
Und tatsächlich gibt es dafür einen Commit:
+ Say Y or M here if you have a Skylake/Kaby Lake SoC with MIPI CSI-2
+ connected camera.
+ The module will be called ipu3-cio2.
Nur leider findet sich der Treiber nicht im Debian-Kernel.

Benutzeravatar
NetFoxy
Beiträge: 107
Registriert: 12.11.2009 17:53:50

Re: Kamera auf Samsung Galaxy Book

Beitrag von NetFoxy » 14.10.2020 12:39:38

Vielen Dank Tintom,

ich habe mich damit jetzt eine Weile nicht mehr befasst, weil ich geglaubt habe, es gäbe keine Lösung.

Da ich für die WLAN-Karte ohnehin immer den Kernel selber kompilieren muss, weil aus einem mir unbekannten Grunde der inzwischen schon recht alte Patch nicht eingepflegt wird (s.u.), habe ich gerade das ipu3-cio2 und das ipu3-imgu Modul kompiliert und geladen. Beide waren in der Konfiguration für die Compilation tatsächlich ausgeschaltet (ich habe aber auch die Konfiguration vom Debian-Kernel genommen), aber in den Kernel-Sourcen (5.8.14) enthalten. Zum Einschalten in der .config-Datei:

Code: Alles auswählen

CONFIG_VIDEO_IPU3_CIO2=m
CONFIG_VIDEO_IPU3_IMGU=m
setzen.

Damit bin ich immerhin so weit gekommen, das guvcview jetzt ein (bzw. vier) Kameramodul(e) erkennt. Anfangen kann es damit aber nichts. Hier mal die Ausgabe von lspci -vvv:

Code: Alles auswählen

00:05.0 Multimedia controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Imaging Unit (rev 01)
	Subsystem: Samsung Electronics Co Ltd Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Imaging Unit
	Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at df000000 (64-bit, non-prefetchable) [size=4M]
	Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit+
		Address: 00000000fee002f8  Data: 0000
	Capabilities: [a0] PCI Advanced Features
		AFCap: TP+ FLR+
		AFCtrl: FLR-
		AFStatus: TP-
	Capabilities: [d0] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Kernel modules: ipu3_imgu
und was guvcview schreibt:

Code: Alles auswählen

Failed to query video capabilities: Inappropriate ioctl for device
libv4l2: error getting capabilities: Inappropriate ioctl for device
V4L2_CORE: ERROR opening V4L2 interface for /dev/v4l-subdev0
Failed to query video capabilities: Inappropriate ioctl for device
libv4l2: error getting capabilities: Inappropriate ioctl for device
V4L2_CORE: ERROR opening V4L2 interface for /dev/v4l-subdev1
Failed to query video capabilities: Inappropriate ioctl for device
libv4l2: error getting capabilities: Inappropriate ioctl for device
V4L2_CORE: ERROR opening V4L2 interface for /dev/v4l-subdev2
Failed to query video capabilities: Inappropriate ioctl for device
libv4l2: error getting capabilities: Inappropriate ioctl for device
V4L2_CORE: ERROR opening V4L2 interface for /dev/v4l-subdev3
Using mplane plugin for capture 
V4L2_CORE: Unable to find parent usb device.Using mplane plugin for capture 
V4L2_CORE: Unable to find parent usb device.Using mplane plugin for capture 
V4L2_CORE: Unable to find parent usb device.Using mplane plugin for capture 
V4L2_CORE: Unable to find parent usb device.GUVCVIEW: version 2.0.6
Using mplane plugin for capture 
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Unpassender IOCTL (I/O-Control) für das Gerät
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Unpassender IOCTL (I/O-Control) für das Gerät
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Unpassender IOCTL (I/O-Control) für das Gerät
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Unpassender IOCTL (I/O-Control) für das Gerät
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Unpassender IOCTL (I/O-Control) für das Gerät
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Unpassender IOCTL (I/O-Control) für das Gerät
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Unpassender IOCTL (I/O-Control) für das Gerät
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Unpassender IOCTL (I/O-Control) für das Gerät
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Unpassender IOCTL (I/O-Control) für das Gerät
    - FORMAT NOT SUPPORTED BY DECODER -
V4L2_CORE: (VIDIOC_ENUM_FRAMESIZES) - Error enumerating frame sizes
v4L2_CORE: Unable to enumerate frame sizes :Unpassender IOCTL (I/O-Control) für das Gerät
    - FORMAT NOT SUPPORTED BY DECODER -
V4L2_CORE: (VIDIOC_ENUM_FRAMESIZES) - Error enumerating frame sizes
v4L2_CORE: Unable to enumerate frame sizes :Unpassender IOCTL (I/O-Control) für das Gerät
    - FORMAT NOT SUPPORTED BY DECODER -
V4L2_CORE: (VIDIOC_ENUM_FRAMESIZES) - Error enumerating frame sizes
v4L2_CORE: Unable to enumerate frame sizes :Unpassender IOCTL (I/O-Control) für das Gerät
    - FORMAT NOT SUPPORTED BY DECODER -
V4L2_CORE: (VIDIOC_ENUM_FRAMESIZES) - Error enumerating frame sizes
v4L2_CORE: Unable to enumerate frame sizes :Unpassender IOCTL (I/O-Control) für das Gerät
{ VIDIOC_TRY_FMT (invalid values): width = 0, height = 0 }
v4L2_CORE: Unable to enumerate frame sizes :Das Argument ist ungültig
{ VIDIOC_TRY_FMT (invalid values): width = 0, height = 0 }
v4L2_CORE: Unable to enumerate frame sizes :Das Argument ist ungültig
{ VIDIOC_TRY_FMT (invalid values): width = 0, height = 0 }
v4L2_CORE: Unable to enumerate frame sizes :Das Argument ist ungültig
{ VIDIOC_TRY_FMT (invalid values): width = 0, height = 0 }
v4L2_CORE: Unable to enumerate frame sizes :Das Argument ist ungültig
V4L2_CORE: no valid frame formats (with valid sizes) found for device
GUVCVIEW (1): Guvcview error
	 no video device found
Das ist etwas länglich, weil guvcview das für alle vier gefundenen Devices ausgibt.

Laut der Hilfeseite zu den IPU3-Modulen
https://www.kernel.org/doc/html/v5.5/me ... /ipu3.html
Muss man dort noch eine Pipeline konfigurieren. Das würde ich gerne versuchen, weiß aber nicht, wie ich herausbekomme, wie mein Kamerasensor heißt. In den Beispiel wird der ov5670 Sensor genannt. Der kann es aber nicht sein:

Code: Alles auswählen

# media-ctl -d /dev/media0 -e "ov5670 10-0036"
Entity 'ov5670 10-0036' not found
Aber schon mal super, dass es überhaupt ein Modul dafür gibt. Die Kamera wäre schon super nützlich. :)


Für die Leute, die hierher gefunden haben, um das WLAN aktiviert zu bekommen: Da muss man nicht viel machen, wenn man den Kernel neu kompilieren möchte.

Code: Alles auswählen

diff ./drivers/net/wireless/ath/regd_common.h~ ./drivers/net/wireless/ath/regd_common.h
79c79,80
< 
---
> 	APL10_WORLD = 0x5F,
> 	
207c208,209
< 
---
> 	{APL10_WORLD, CTL_ETSI, CTL_ETSI},
> 	
428a431
> 	{CTRY_KOREA_ROC, APL10_WORLD, "KR"},
Keine Ahnung, warum das nicht im Kernel steht. Bekannt ist das schon länger.

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Kamera auf Samsung Galaxy Book

Beitrag von Tintom » 14.10.2020 13:19:35

NetFoxy hat geschrieben: ↑ zum Beitrag ↑
14.10.2020 12:39:38
Muss man dort noch eine Pipeline konfigurieren. Das würde ich gerne versuchen, weiß aber nicht, wie ich herausbekomme, wie mein Kamerasensor heißt. In den Beispiel wird der ov5670 Sensor genannt. Der kann es aber nicht sein:

Code: Alles auswählen

# media-ctl -d /dev/media0 -e "ov5670 10-0036"
Entity 'ov5670 10-0036' not found
Der angegebene Pfad sagt mit jetzt nichts. Was sagt ls /dev/video* ?

Benutzeravatar
NetFoxy
Beiträge: 107
Registriert: 12.11.2009 17:53:50

Re: Kamera auf Samsung Galaxy Book

Beitrag von NetFoxy » 15.10.2020 12:07:21

Hallo Timtom,

da gibt es die vier video[0-3] Devices. Aber die funktionieren nicht. Man muss media0 nutzen steht in der Anleitung. Mit video* passiert auch gar nichts (bin gerade nicht an dem Rechner und gucke gleich nochmal nach der Ausgabe bei den Geräten). Hast Du eine Ahnung, wie man herausbekommt, was man für "ov5670 10-0036" noch einsetzen kann, bzw, wo man herausbekommt, was für das eigene System korrekt ist?

Liebe Grüße
Andreas

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Kamera auf Samsung Galaxy Book

Beitrag von Tintom » 15.10.2020 13:01:32

NetFoxy hat geschrieben: ↑ zum Beitrag ↑
15.10.2020 12:07:21
Hast Du eine Ahnung, wie man herausbekommt, was man für "ov5670 10-0036" noch einsetzen kann, bzw, wo man herausbekommt, was für das eigene System korrekt ist?
Ich hätte jetzt mit mpv tv:// --tv-device=/dev/videoX alle Geräte einmal durchprobiert.

Benutzeravatar
NetFoxy
Beiträge: 107
Registriert: 12.11.2009 17:53:50

Re: Kamera auf Samsung Galaxy Book

Beitrag von NetFoxy » 15.10.2020 14:24:01

Hm, die Option tv-device gibt es bei mir nicht. Hier meine Möglichkeiten:

Code: Alles auswählen

 --alsa-mixer-device              String (default: default)
 --audio-device                   String (default: auto)
 --bluray-device                  String (default: ) [file]
 --cdrom-device                   String (default: ) [file]
 --cuda-decode-device             Choices: auto (or an integer) (0 to 2147483647) (default: auto)
 --dvd-device                     String (default: ) [file]
 --oss-mixer-device               String (default: /dev/mixer)
 --vaapi-device                   String (default: /dev/dri/renderD128)
 --vulkan-device                  String (default: )
Da ist auch nichts passendes dabei, finde ich....

Benutzeravatar
NetFoxy
Beiträge: 107
Registriert: 12.11.2009 17:53:50

Re: Kamera auf Samsung Galaxy Book

Beitrag von NetFoxy » 15.10.2020 14:27:28

Wenn man nur den Pfad /dev/videoX eingibt, dann sagt mpv Folgendes:

Code: Alles auswählen

$ mpv /dev/video0 
[ffmpeg/demuxer] video4linux2,v4l2: Not a video capture device.
[lavf] avformat_open_input() failed
[ffmpeg/demuxer] video4linux2,v4l2: Not a video capture device.
[lavf] avformat_open_input() failed
Failed to recognize file format.
Damit komme ich also leider wohl nicht an die Info...

sve
Beiträge: 2
Registriert: 05.02.2021 19:47:48

Re: Kamera auf Samsung Galaxy Book

Beitrag von sve » 06.02.2021 10:59:27

NetFoxy hat geschrieben: ↑ zum Beitrag ↑
14.10.2020 12:39:38
Für die Leute, die hierher gefunden haben, um das WLAN aktiviert zu bekommen: Da muss man nicht viel machen, wenn man den Kernel neu kompilieren möchte.
...
Keine Ahnung, warum das nicht im Kernel steht. Bekannt ist das schon länger.
Danke für die Info. Leider hat sich auch nach einem Jahr nichts beim WLAN-Problem gebessert. Welchen Bug-Tracker kann man füttern, damit der 3-zeilige Fix nach 3 Jahren endlich in den Kernel kommt? Ich kenne schon:
https://bugzilla.kernel.org/show_bug.cgi?id=206567
https://bugzilla.redhat.com/show_bug.cgi?id=1615436

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Kamera auf Samsung Galaxy Book

Beitrag von Tintom » 06.02.2021 17:00:49

Die Chance, dass dein neu eröffneter Bugreport als Duplikat von https://bugzilla.kernel.org/show_bug.cgi?id=206567 markiert wird ist schon hoch. Drei Möglichkeiten sehe ich im Moment:
  • Den zuständigen Maintainer eine Mail schreiben bzw. auf der Mailingliste nachfragen was los ist
  • Einen Bugreport bei Debian öffnen
  • Das betreffene Modul bei einem Kernelupdate selbst bauen (Stichwort DKMS)
Gerade weil es nur eine Zeile mehr an Code ist bietet sich letzteres geradezu an.

sve
Beiträge: 2
Registriert: 05.02.2021 19:47:48

Re: Kamera auf Samsung Galaxy Book

Beitrag von sve » 06.02.2021 17:26:47

Tintom hat geschrieben: ↑ zum Beitrag ↑
06.02.2021 17:00:49
Die Chance, dass dein neu eröffneter Bugreport als Duplikat von https://bugzilla.kernel.org/show_bug.cgi?id=206567 markiert wird ist schon hoch. Drei Möglichkeiten sehe ich im Moment:
  • Den zuständigen Maintainer eine Mail schreiben bzw. auf der Mailingliste nachfragen was los ist
  • Einen Bugreport bei Debian öffnen
  • Das betreffene Modul bei einem Kernelupdate selbst bauen (Stichwort DKMS)
Gerade weil es nur eine Zeile mehr an Code ist bietet sich letzteres geradezu an.
Danke für die Ideen.
Zu DKMS: klappt das bei dir? Ich habe den Kernel komplett neu gebaut mit dem 3-zeiligen Patch und dann nur die 4 .ko Dateien überschrieben:

Code: Alles auswählen

cp -pv debian/.../kernel/drivers/net/wireless/ath/ath10k/ath10k_*.ko /lib/modules/.../kernel/drivers/net/wireless/ath/ath10k/
Dann ging der Fehler bzgl. "invalid regulatory domain/country code 0x5f" weg, aber es reichte noch nicht aus. Das war wohl zu naiv von mir. Wie sähe deine eine Zeile aus?

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Kamera auf Samsung Galaxy Book

Beitrag von Tintom » 07.02.2021 06:41:22

Das manuelle Kopieren wird nicht funktionieren, der Kernel wird deine nachträglich geänderten Kernelmodule aus Sicherheitsgründen nicht akzeptieren. Entweder du baust den kompletten Kernel inkl. Patch neu damit die Integrität gewahrt bleibt, oder du gehst über DKMS. Aber auch dort brauchst du nichts manuell zu kopieren, das macht DKMS automatisch.

Antworten