HP Elitebook 840 G6 - Interne Cam und Internes Mikro

  • Hallo zusammen,


    ich habe ein HP Elitebook 840 G6 das eine wirklich gute Figur macht als Hackbook. Aktuell laufen macOS Ventura und Windows11 im Dualboot auf dem Gerät und unter macOS funktioniert soweit alles genau so wie man sich das vorstellt. Boot, Reboot, Sleep, Wake alles läuft ohne Probleme und dank der nachträglich eingebauten Fenvi WLAN/BT Karte laufen auch alle Apple Services (Airdrop, Continuity, Handoff, Continuity Cam, Universal Remote) alles in allem ein ziemlich perfektes Notebook.



    Aber eben leider nur ziemlich perfekt (jammern auf hohem Niveau ich weiß). Das Elitebook besitzt eine Windows Hello fähige WebCam und diese wird von macOS auch am USB Bus erkannt und taucht im Systembericht auch als Kamera auf funktioniert aber leider nicht. Will man die Kamera unter Facetime, Zoom, Photo Booth nutzen gibt es kein Bild und zumindest in FaceTime wirft macOS auch irgendwann die Meldung aus das von der Kamera kein Videosignal empfangen werden konnte (Continuity Kamera geht aber).


     


    Ich habe mir dann im IORegistryExplorer das Device mal angesehen und das ganze stellt sich wie folgt dar:



    Die Kamera vereint also in einem Gerät und an einem USB Port zwei Kamera Devices einmal die normale HD Cam und eben die IR Cam und ich denke das hier der Hase buchstäblich im Pfeffer liegt. Meine Theorie dazu ist nun das macOS auf das Camara Device an HS04 zugreift dabei aber nicht spezifiziert ob die HD oder die IR Camara benutzt werden soll demnach bleibt das Bild dunkel will das Device nicht weiß was es tun soll. Gibt es eine Möglichkeit das ganze so hinzubiegen das sich die Cam unter macOS wie eine "normale" HD Cam verhält sprich wäre es möglich das IR Device vor macOS zu verbergen so, dass im IOReg halt nur die HD Cam auftaucht? Vielleicht hat ja einer von Euch dazu eine Idee oder ggf. sogar selbst schon mal mit einer Windows Hello Cam zu tun gehabt und dazu eine Lösung gefunden? Es ist zwar nicht essentiell aber wäre trotzdem prima wenn man es zum laufen bekäme einfach weil man ja nicht immer ein iPhone parat hat wenn einen mal jemand zum Beispiel mit einem Zoom Call belästigt...


    In eine ganz ähnliche Richtung wie die Kamera Geschichte geht auch das mit dem internen Mikrofon denn auch das wird zwar "erkannt" aber es funktioniert nicht. Das Elitebook hat einen ALC215 verbaut und Sound läuft mit AppleALC und der Layout ID 18 (ist auch die einzige ID für den Codec). Anders als bei der Cam gehe ich hier davon aus das vermutlich die LayoutID nicht zu 100% zum Elitebook bzw. zu der von HP hier gewählten Verdrahtung passt. Ich habe über Linux mal einen CodecDump gezogen nur leider krieg ich das mit den Layouts echt nicht in meinen Kopf ich bin da wohl wirklich zu dumm zu und demnach auf Eure ( MacPeet ?) Hilfe angewiesen.

    Files

  • Das mit der Kamera erinnert mich an mein Lenovo Ideapad, dass ich mal vor knapp 6 Jahren in der Mangel hatte -> Hilfe: Lenovo Ideapad 500-15ISK und Sierra 10.12.4


    Die damalige Intel RealSense 3D Camera konnte ich auch nicht zum Laufen bringen...

    Bin mal gespannt ob sich das in der Zwischenzeit verbessert hat, denn in meinem Philips 499P9H ist auch eine Windows Hello Camera am Start, die ich gerne mal zum Laufen bringen würde.

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • Wird schwer, denn diese Art neuere Hardware kennt macOS nicht.


    Zwecks Kamera, welche Port-Geschwindigkeit zeigt hier das Port-Mapping?

    Funktionieren diese unter neuster Ubuntu oder vergleichbares Linux?


    Betreffs intern Mic, ist es so, dass diese Dual-Array-Mikrofone, in Deinem Fall sogar ein Ring aus 3 Mikrofonen (3 Multi-Array-Mikrofone), in der Vergangenheit bislang nicht unter macOS funktionierten, zumindest nicht mittels AppleALC.

    Bislang funktionierten diese nur unter neuster Ubuntu-Version, aber selbst wenn man dort ein Dump macht, dann wir dieser Knoten nicht als Input erkannt, so wie auch hier bei Dir.

    Im Prinzip ist die LayoutID 18 schon richtig konfiguriert, mit Knoten 18 und 25, zumindest für diejenigen, welche kein Dual-Dingsda haben.

    Knoten 25 (Hex 19) wird auch bei Dir richtig als externes Mic erkannt im Dump und könnte funktionieren.

    Knoten 18 (Hex 12) jedoch, wird auch in dem Fall wieder nur als Output erkannt in Deinem Dump.


    Da diese Art Mic's ja mit neuster Ubuntu gehen sollen, stellt sich hier vielleicht die Frage, in wie weit die Entwicklung von VoodooHDA inzwischen fortgeschritten ist.

    Mit AppleALC wird Output und ext. Mic bestimmt gehen, aber für intern Mic habe ich hier wenig Hoffnung.

    Medion P9614: C2D 2,8GHz 8GB DDR3 GT330M 512GB FullHD intern BCM WLAN/BT SSD 512GB + 512GB + 1TB macOS Catalina / Win10pro 8)

    Real: MacMini M1: 8GB 32" LG 4k SSD 250GB + 1TB nvme USB-C + 1TB thunderbolt nvme macOS 14.5

    MacBook Air M2 15": 8GB SSD 512GB macOS 14.5

    MacMini2014: i5 2,8GHz 16GB DDR3 Intel Iris 5100 23" Apple-Cinema 1TB NVMe / 1TB HDD macOS 13.6.6

    iPhoneSE 3.Gen 128GB: iOS 17.4.1 iPad Pro 9,7" WiFi 32GB: iPadOS 16.7.7 MacPro3,1 macOS 13.6.4 / 14.4

  • Hi MacPeet,


    das mal einigermaßen ernüchternd insbesondere bezogen auf die Mikrofon Thematik...


    Unter Ubuntu funktioniert die Cam als Webcam ohne weiteres aber eben auch "nur" die Cam das IR Gedöne wird von Linux schlicht ignoriert das Mikro kann ich aktuell dort nicht testen da ich dazu nochmal einen aktuelleren Stick machen muss schiebe ich aber nach.


    Was das Mapping angeht sieht das bei dem HP so aus:

    Die Cam bindet also mit 480Mbps an erstmal also nichts ungewöhnliches.

  • griven ,

    wie hast du das mit dem amfi unter ventura bei dem book gelöst?, bei meinen desktops bewirkt das bootarg, das die "erlaubnisanfragen-berechtigungs-*" nicht durchgestellt-und somit das device seitens der app so nicht nutzbar ist (via ventura) . da ginge es nur via direktem terminalaufruf- aufgrunddessen, ist auf diesen rechnern bei mir nun monterey installiert, -ohne das amfi-bootarg klappt es dort.


    lg :)

  • Das Elitebook braucht keine Eingriffe dieser art läuft nativ als ganz normaler Hackintosh mit Ventura also kein AMFI oder Co. Geprfiemel nötig :)

    MacPeet hier mal der Dump mit einem aktuellen Ubuntu gezogen: codec_dump1.txt unter der Version von Ubuntu tut das Mikrofon Array tatsächlich exakt das was es soll.

  • internal 480Mbps ist eigentlich normal bei den gängigen Webcam's, aber bezüglich dieser neueren Dinger, was ist schon normal? Vielleicht ist die auch höher angebunden, Wobei bei al6042 steht auch explizit USB2.0 ...Cam, also von da her sollte es passen.

    Wenn es gelingen würde den IR Teil abzuschalten, vielleicht ginge es ja dann.

    In dem ioreg oben zeigen sich ja beide Varianten dieser Cam, einmal als ...@0 und einmal ...@2, vielleicht kann man via DeviceProperties die ...@2 ausschalten, wenn man dort den expliziten Device-Pfad ermittelt.


    Bezüglich Audio, ist es genau wie ich dachte, in neuerer Ubuntu haben sie einen Treiber für diese Art Mic's geschrieben, aber der eigentliche Dump geht auf den ALSA-Treiber zurück und auch hier wird Knoten 18 (Hex 12) als LineOut erkannt, obwohl es ein Stereo-Amp-In ist.

    Ich schaue es mir noch genauer an, muss den erst wandeln, aber ich habe mit anderen Usern schon einiges betreffs Dual-Mic's versucht, aber egal in welcher Konfiguration, ob ManualMode oder etc., es hat nie was gefruchtet im Bezug mit AppleALC.

    In älterer Ubuntu-Version lief es nie, so hatten andere User berichtet.


    Unter Linux ist es ja auch immer ein Voodoo-Audio und wenn es für Linux sowas wie Darwin-Dumper gibt, dann könnte man damit ein Audio-Dump machen und die tatsächlich verwendete Konfiguration sehen, aber da bin ich kein Experte, nutze Linux seit Jahren nicht mehr.

    Unter macOS geht die Sache mit Darwin-Dumper sehr gut, wenn man VoodooHDA verwendet.


    Hast Du inzwischen auch mal die Kombibuchse testen können, bezüglich Kopfhörer mit Mic?


    Ich denke, Mic mittels nativem WLAN/BT zu ersetzen, mit z.B. AirPods, ist am Lappi keine große Sache, aber die Webcam zum Laufen zu bewegen wäre schon eher eine gute Sache.

    Natürlich geht auch die iPhone-Geschichte hier als Cam unter Ventura oder eine externe Webcam mit Mic, aber am Lappi möchte man ja alles perfekt haben, Aufklappen und geht, sozusagen.


    Edit:

    Ich hab mal beide Dump's gewandelt:


    Archiv.zip


    Problem liegt hier bei dieser Art Mic's:


    bezüglich der Verbs für Lauffähigkeit unter macOS sind beide gleich:


    vor Bearbeitung:


    nach Bearbeitung:


    ... aber selbst wenn man den Knoten 18 hier umformt, er wird dennoch nicht mit AppleALC funktionieren, so meine Erfahrung.


    Es gibt beim 2.Dump vom neuen Ubuntu tatsächlich unterschiede bei Knoten 32 (Hex 20), eine lange Array-Kette von Werten, womit ich nicht viel anfangen kann, bzw. auf welchen Input-Knoten der auflaufen könnte.

    Das Codegraph-Bild zeigt Knoten 32 nicht einmal.

    Man könnte jetzt noch hergehen und auf Verdacht in der Platforms so Ketten wie 7-32-18, 8-32-18 oder 9-32-18 versuchen, aber ich denke, ohne speziellen Treiber, wie unter Win und neuerem Linux ist diese Art Mic nix für macOS und AppleALC.

    Medion P9614: C2D 2,8GHz 8GB DDR3 GT330M 512GB FullHD intern BCM WLAN/BT SSD 512GB + 512GB + 1TB macOS Catalina / Win10pro 8)

    Real: MacMini M1: 8GB 32" LG 4k SSD 250GB + 1TB nvme USB-C + 1TB thunderbolt nvme macOS 14.5

    MacBook Air M2 15": 8GB SSD 512GB macOS 14.5

    MacMini2014: i5 2,8GHz 16GB DDR3 Intel Iris 5100 23" Apple-Cinema 1TB NVMe / 1TB HDD macOS 13.6.6

    iPhoneSE 3.Gen 128GB: iOS 17.4.1 iPad Pro 9,7" WiFi 32GB: iPadOS 16.7.7 MacPro3,1 macOS 13.6.4 / 14.4

    Edited once, last by MacPeet ().

  • Ich hab hier ein Dell Monitor mit integrierten Windows Hello fähige WebCam.

    Bei mir tut das funktionieren, ich meine jetzt nicht grad die "Hello" Funktionalität aber in allen Diensten hab ich ein Bild zu Verfügung.

    Vielleicht kann man da mit den Device ID`s was manipulieren.




    Gruss Coban

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina / BigSur / Monterey / Ventura Beta / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina / BigSur / Monterey / Ventura Beta / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."

  • Wie kann ich denn die Device ID von einem USB Gerät spoofen :think:

    Die Buchse habe ich probiert aber das klappt genau so wenig MacPeet. Der Eingang schaltet nicht um wenn man ein Headset mit Kombistecker (in meinem Fall ein Plantronics Blackwire) anschließt. Auf der Ausgabeseite schaltet er auf Kopfhörer von internen Lautsprecher auf der Eingabe bleibt "Internes Mikrofon" stehen.


  • Wie kann ich denn die Device ID von einem USB Gerät spoofen

    https://bitbucket.org/anonymou…camsonix.kext/src/master/


    Hiermit kann man glaub alle USB Devices spoofen, da hat unser anonymous_writer mal saubere lösung präsentiert gehabt.

    Das hat auch mit einem anderen Cam funktioniert soweit ich mich erinnern kann.


    Gruss Coban

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina / BigSur / Monterey / Ventura Beta / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina / BigSur / Monterey / Ventura Beta / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."

  • Hum, schade die Idee war gut und der Spoof funktioniert auch (man sieht es im IORegistryExplorer) nur leider ändert das nix am Verhalten :(

  • Bezüglich Kamera. Wird nach dem Spoofen der VDCAssistant anstelle vom UVCAssistant geladen?

  • Jupp wird er aber die Kamera wird dann nicht mehr angesprochen sonder es springt in dem Fall dann einfach direkt auf die iPhone Kamera...

    Ich denke in meinem Fall ist das Problem das die Kamera ein CompositeDevice ist und sich der UVCAssistent oder der VDCAssistent je nachdem ob mit oder ohne Kext jeweils an beide Instanzen bindet. Im IOREG sieht das Device so aus:



    Btw. coole Lösung das mit der Kext :)

  • Es wäre einen Versuch wert Kamera und Micro unter BigSur zu testen. Ab BigSur hat Apple einiges an den Treibern verändert.

    So bin ich auf das Spoofing gekommen. Unter BigSur läuft meine Lenovo Kamera ohne Spoofing.

  • MacPeet ich habe parallel mal mit VoodooHDA getestet und auch damit funktioniert and der Mikrofonfront rein gar nichts...


    Ich denke das Problem wird wohl sein das es sich bei dem Array nicht um ein "analoges" Gerät handelt das über den ALC läuft sondern das Mikrofon bei dem Teil läuft über ein Gerät das Windows als "Intel Smart Sound Technologie" bezeichnet (INTELAUDIO\CTLR_DEV_9DC8&LINKTYPE_02&DEVTYPE_01&VEN_8086&DEV_AE20&SUBSYS_8549103C&REV_0001) hier nutzen uns die Dumps und Co. dann natürlich wirklich gar nichts. Ich denke das Array bekommt man unter macOS ohne dedizierten Treiber, der genau dafür gemacht, ist nicht zum spielen. Naja AirPods sind ja durchaus eine Alternative *seufz*


    anonymous_writer Ich habe mal parallel fix einen Container mit BigSur eingerichtet die Kamera funktioniert da leider auch nicht und IOREG unter BigSur sieht identisch aus zu dem was sich auch unter Ventura zeigt...

  • Schade. :think:

    In diesem Bild wird immer noch der UVCAssistant geladen.

    Sieht bei mir mit spoofing dann unter Ventura so aus:


    Aber du schreibst ja, der VDCAssistant wird geladen anstelle vom UVCAssistant, nach dem du den Kext verwendest. Dann hilft meine Lösung leider nicht für diese Kamera.

    Jedenfalls bekomme ich wenn der UVCAssistant geladen wird exakt denn gleiche Fehler wie in deinem Post 1.

  • Ja, griven , bei den neuen Dingern sitzt ein Intel-Controller vorm Realtek-Audio, aber dafür gibt's im SourceCode der AppleALC im Controllers.plist bereits viele Controller-Patches für die jeweiligen Series.

    Du hast doch Sound auf den internen Boxen, oder? In dem Fall wird der Realtek-Chip auch angesprochen und der Controller-Patch greift, nur eben der Rest geht bislang nicht.

    Ich mache Dir bei Gelegenheit aber doch noch eine Testversion im ManualMode fertig, aber heute schaffe ich es wohl nicht mehr, da ich abends noch Termin habe.

    Medion P9614: C2D 2,8GHz 8GB DDR3 GT330M 512GB FullHD intern BCM WLAN/BT SSD 512GB + 512GB + 1TB macOS Catalina / Win10pro 8)

    Real: MacMini M1: 8GB 32" LG 4k SSD 250GB + 1TB nvme USB-C + 1TB thunderbolt nvme macOS 14.5

    MacBook Air M2 15": 8GB SSD 512GB macOS 14.5

    MacMini2014: i5 2,8GHz 16GB DDR3 Intel Iris 5100 23" Apple-Cinema 1TB NVMe / 1TB HDD macOS 13.6.6

    iPhoneSE 3.Gen 128GB: iOS 17.4.1 iPad Pro 9,7" WiFi 32GB: iPadOS 16.7.7 MacPro3,1 macOS 13.6.4 / 14.4

  • Jupp hatte den Kext wieder deaktiviert anonymous_writer daher dann wieder mit UVCAssistant...


    Ich denke man müsste einen Weg finden die HP IR Camera@2 aus dem Rennen zu nehmen ich glaube nämlich wirklich das es daran liegt das der UVCAssistent (alternativ der VDCAssistant) sich mit der jeweils selben PID an beide Instanzen hängt und somit nicht klar ist welche von beiden denn nun ein Bild liefern sollte und daher einfach gar nichts kommt.


    MacPeet jupp die internen Boxen und auch das Umschalten von Intern auf Kopfhörer funktioniert einwandfrei.

  • sehr gut, dann geht auch der Controller-Patch. Ich mach dann später mal was fertig.

    Medion P9614: C2D 2,8GHz 8GB DDR3 GT330M 512GB FullHD intern BCM WLAN/BT SSD 512GB + 512GB + 1TB macOS Catalina / Win10pro 8)

    Real: MacMini M1: 8GB 32" LG 4k SSD 250GB + 1TB nvme USB-C + 1TB thunderbolt nvme macOS 14.5

    MacBook Air M2 15": 8GB SSD 512GB macOS 14.5

    MacMini2014: i5 2,8GHz 16GB DDR3 Intel Iris 5100 23" Apple-Cinema 1TB NVMe / 1TB HDD macOS 13.6.6

    iPhoneSE 3.Gen 128GB: iOS 17.4.1 iPad Pro 9,7" WiFi 32GB: iPadOS 16.7.7 MacPro3,1 macOS 13.6.4 / 14.4

  • Wenn Lust hast kannst mal hiermit rumspielen.

    https://github.com/cobaohieu/A…/8#issuecomment-605624076


    Die Kexte sind sehr alt aber mit Änderung im Bild sollten dieser wieder funktionieren.


    Dieser Kext unterscheidet mit bInterfaceNumber=X (siehe im Kext) über Instanzen. Ob das auch klappt habe ich nicht versucht. Mit meinem Kext werden immer alle Instanzen geändert.


    Das mit der PID könnte sein da bei mir die identisch ist bei beiden Instanzen.

    Korrektur: Ist ja gleich bei dir. Dann ist diese nicht das Problem. :)


    Ergänzung: Zum Kext auf der Github Seite gab es eine sehr langen Thread in English in einem Forum. Leider finde ich diesen nicht mehr. Die Forumseite von diesem Kext ist deutlich älter als auf Github von 2020.