UPD Bluetooth Broadcom driver

This commit is contained in:
2024-01-19 17:50:20 +01:00
parent 4c7fe0d95a
commit ee3df41a93
2 changed files with 348 additions and 0 deletions

View File

@@ -8720,4 +8720,352 @@ Wenn Sie CAN"=Unterstützung wünschen, sollten Sie hier und auch bei dem
spezifischen Treiber für Ihr(e) Steuergerät(e) unter dem Abschnitt
Netzwerkgeräteunterstützung Y angeben.
\subsubsection{Raw CAN Protocol (raw access with CAN-ID filtering)}
CONFIG\_CAN\_RAW [=m] \textbf{[M]}\\*
Die Option raw CAN-Protokoll bietet Zugriff auf den CAN-Bus über die BSD-Socket-API.
In den meisten Fällen, in denen kein höheres Protokoll verwendet wird, sollten Sie
das Raw-Socket verwenden. Der Raw-Socket verfügt über mehrere Filteroptionen,
z.~B. ID"=Maskierung/Fehlerrahmen.
Um rohe CAN-Nachrichten zu empfangen/senden, verwenden Sie AF\_CAN mit dem
Protokoll CAN\_RAW.
\subsubsection{Broadcast Manager CAN Protocol (with content filtering)}
CONFIG\_CAN\_BCM [=m] \textbf{[M]}\\*
Der Broadcast Manager bietet Inhaltsfilterung, Timeout-Überwachung, Senden von
RTR"=Frames und zyklischen CAN"=Nachrichten ohne ständige Benutzerinteraktion.
Der BCM kann über die BSD"=Socket"=API \glqq programmiert\grqq{} werden und
informiert Sie bei Bedarf z.~B. nur bei Content"=Updates/Timeouts.
In den meisten Fällen, in denen zyklische CAN"=Nachrichten auf dem Bus verwendet
werden (z.~B. in der Automobilbranche), wird man wahrscheinlich den bcm"=Socket
verwenden wollen. Um den Broadcast Manager zu nutzen, verwenden Sie AF\_CAN mit
dem Protokoll CAN\_BCM.
\subsubsection{CAN Gateway/Router (with netlink configuration)}
CONFIG\_CAN\_GW [=m] \textbf{[M]}\\*
Der CAN"=Gateway/Router wird zum Weiterleiten (und Modifizieren) von CAN"=Frames
verwendet. Er basiert auf der PF\_CAN"=Kerninfrastruktur für die Nachrichtenfilterung
und das Senden von Nachrichten und kann optional geroutete CAN"=Frames im laufenden
Betrieb ändern. CAN"=Frames können zwischen CAN"=Netzwerkschnittstellen geroutet
werden (ein Hop). Sie können mit AND/OR/XOR/SET"=Verknüpfungen modifiziert werden,
wie sie von der Netlink"=Konfigurationsschnittstelle konfiguriert werden, die
z.~B. von iptables bekannt ist.
\subsubsection{SAE J1939}
CONFIG\_CAN\_J1939 [=m] \textbf{[M]}\\*
SAE J1939\\*
Sagen Sie Y, um eine In-Kernel"=Unterstützung für den Sockeltyp J1939 zu haben.
Dies ermöglicht die Kommunikation gemäß SAE j1939.\\
Die relevanten Teile im Kernel sind
SAE j1939-21 (Datenverbindung \& Transportprotokoll)
\&\\ SAE j1939-81 (Netzwerkverwaltung).
\subsubsection{ISO 15765-2:2016 CAN transport protocol}
CONFIG\_CAN\_ISOTP [=m] \textbf{[M]}\\*
CAN"=Transportprotokolle bieten Unterstützung für segmentierte
Punkt"=zu"=Punkt"=Kommunikation zwischen CAN"=Knoten über zwei definierte
CAN"=Identifier. Da CAN"=Frames nur eine geringe Anzahl von Datenbytes
transportieren können (max. 8~Bytes für \glqq klassisches\grqq{} CAN und
max. 64~Bytes für CAN FD), wird diese Segmentierung benötigt, um längere
Protocol Data Units (PDU) zu transportieren, wie sie z.~B. für die
Fahrzeugdiagnose (UDS, ISO~14229) oder IP"=over"=CAN"=Verkehr benötigt werden.
Dieser Protokolltreiber implementiert Datenübertragungen gemäß
ISO~15765-2:2016 für \glqq klassische\grqq{} CAN"= und CAN FD"=Frame"=Typen.
Wenn Sie Fahrzeugdiagnosedienste (UDS) durchführen möchten, sagen Sie Y.
\subsection{Bluetooth subsystem support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_BT [=m] \textbf{[M]}\\*
Bluetooth ist eine kostengünstige drahtlose Technologie mit geringem Stromverbrauch
und kurzer Reichweite. Sie wurde als Ersatz für Kabel und andere
Kurzstreckentechnologien wie IrDA entwickelt. Bluetooth arbeitet in einem
persönlichen Bereich (personal area range), der in der Regel bis zu 10~Meter reicht.
Weitere Informationen über Bluetooth finden Sie unter \url{https://www.bluetooth.com/}.
Das Bluetooth-Subsystem von Linux besteht aus mehreren Schichten:
\begin{itemize}
\item Bluetooth-Kern
\begin{itemize}
\item HCI Geräte- und Verbindungsmanager, Scheduler
\item SCO audio links
\item L2CAP (Logical Link Control and Adaptation Protocol)
\item SMP (Security Manager Protocol) auf LE (Low Energy) Verbindungen
\item ISO isochrone Verbindungen
\end{itemize}
\item HCI Gerätetreiber (Schnittstelle zur Hardware)
\item RFCOMM Modul (RFCOMM Protokoll)
\item BNEP Modul (Bluetooth Netzwerkkapselungsprotokoll)
\item CMTP-Modul (CAPI Message Transport Protocol)
\item HIDP-Modul (Protokoll für menschliche Schnittstellengeräte)
\end{itemize}
Sagen Sie hier Y, um die Bluetooth-Unterstützung in den Kernel zu kompilieren oder
sagen Sie M, um dies als Modul (bluetooth) zu kompilieren.
Um das Linux-Bluetooth-Subsystem zu nutzen, benötigen Sie mehrere
Userspace-Dienstprogramme wie hciconfig und bluetoothd.
Diese Dienstprogramme und Aktualisierungen für Bluetooth"=Kernelmodule werden in
den BlueZ-Paketen bereitgestellt. Weitere Informationen finden Sie unter
\url{http://www.bluez.org/}.
\subsubsection{Bluetooth Classic (BR/EDR) features}
CONFIG\_BT\_BREDR [=y] \textbf{[Y]}\\*
Bluetooth Classic bietet Unterstützung für Basic Rate (BR), die mit Bluetooth
Version~1.0b oder höher verfügbar ist, und Unterstützung für Enhanced Data Rate (EDR),
die mit Bluetooth Version~2.0 oder höher verfügbar ist.
\paragraph{RFCOMM protocol support}$~$\\
CONFIG\_BT\_RFCOMM [=m] \textbf{[M]}\\*
RFCOMM bietet einen verbindungsorientierten Stream-Transport.
Die RFCOMM"=Unterstützung ist für Dialup Networking, OBEX und andere
Bluetooth"=Anwendungen erforderlich. Sagen Sie hier Y, um die
RFCOMM"=Unterstützung in den Kernel zu kompilieren oder sagen Sie M,
um sie als Modul (rfcomm) zu kompilieren.
\subparagraph{RFCOMM TTY support}$~$\\
CONFIG\_BT\_RFCOMM\_TTY [=y] \textbf{[Y]}\\*
This option enables TTY emulation support for RFCOMM channels.
\paragraph{BNEP protocol support}$~$\\
CONFIG\_BT\_BNEP [=m] \textbf{[M]}\\*
BNEP (Bluetooth Network Encapsulation Protocol) ist eine Ethernet"=Emulationsschicht
über Bluetooth. BNEP ist für Bluetooth PAN (Personal Area Network) erforderlich.
Sagen Sie hier Y, um BNEP"=Unterstützung in den Kernel zu kompilieren, oder
sagen Sie M, um es als Modul (bnep) zu kompilieren.
\subparagraph{Multicast filter support}$~$\\
CONFIG\_BT\_BNEP\_MC\_FILTER [=y] \textbf{[Y]}\\*
Diese Option aktiviert die Multicast"=Filterunterstützung für BNEP.
\subparagraph{Protocol filter support}$~$\\
CONFIG\_BT\_BNEP\_PROTO\_FILTER [=y] \textbf{[Y]}\\*
Mit dieser Option wird die Protokollfilterunterstützung für BNEP aktiviert.
\paragraph{CMTP protocol support}$~$\\
CONFIG\_BT\_CMTP [=m] \textbf{[M]}\\*
CMTP (CAPI Message Transport Protocol) ist eine Transportschicht für CAPI-Nachrichten.
CMTP ist für das Bluetooth Common ISDN Access Profile erforderlich.
Sagen Sie hier Y, um CMTP"=Unterstützung in den Kernel zu kompilieren oder
sagen Sie M, um es als Modul (cmtp) zu kompilieren.
\paragraph{HIDP protocol support}$~$\\
CONFIG\_BT\_HIDP [=m] \textbf{[M]}\\*
HIDP (Human Interface Device Protocol) ist eine Transportschicht für HID-Meldungen.
HIDP ist für das Bluetooth Human Interface Device Profile erforderlich.
Sagen Sie hier Y, um HIDP-Unterstützung in den Kernel zu kompilieren,
oder sagen Sie M, um es als Modul (hidp) zu kompilieren.
\paragraph{Bluetooth High Speed (HS) features}$~$\\
CONFIG\_BT\_HS [=n] \textbf{[N]}\\*
Bluetooth High Speed unterstützt das Off-Loading von Bluetooth"=Verbindungen über
die physikalische Schicht 802.11 (wifi), die mit Bluetooth Version 3.0 oder höher
verfügbar ist.
\subsubsection{Bluetooth Low Energy (LE) features}
CONFIG\_BT\_LE [=y] \textbf{[Y]}\\*
Bluetooth Low Energy unterstützt eine energiesparende physikalische Schicht,
die mit Bluetooth Version 4.0 oder höher verfügbar ist.
\paragraph{Bluetooth L2CAP Enhanced Credit Flow Control}$~$\\
CONFIG\_BT\_LE\_L2CAP\_ECRED [=y] \textbf{[Y]}\\*
Bluetooth Low Energy L2CAP Enhanced Credit Flow Control verfügbar mit
Bluetooth Version~5.2 oder höher.
Dies kann durch die Übergabe von \texttt{bluetooth.enable\_ecred=$[1|0]$} in der
Kernel"=Befehlszeile außer Kraft gesetzt werden.
\paragraph{Bluetooth 6LoWPAN support}$~$\\
CONFIG\_BT\_6LOWPAN [=m] \textbf{[M]}\\*
IPv6-Kompression über Bluetooth Low Energy.
\subsubsection{Enable LED triggers}
CONFIG\_BT\_LEDS [=y] \textbf{[Y]}\\*
Mit dieser Option können Sie einige LED-Trigger für verschiedene
Bluetooth"=Ereignisse auswählen.
\subsubsection{Enable Microsoft extensions}
CONFIG\_BT\_MSFTEXT [=y] \textbf{[Y]}\\*
Diese Option ermöglicht die Unterstützung der von Microsoft definierten
HCI"=Anbietererweiterungen.
\subsubsection{Enable Android Open Source Project extensions}
CONFIG\_BT\_AOSPEXT [=y] \textbf{[Y]}\\*
Diese Option ermöglicht die Unterstützung für die vom Android Open Source
Project definierten HCI"=Herstellererweiterungen.
\subsubsection{Enable Bluetooth internals in debugfs}
CONFIG\_BT\_DEBUGFS [=y] \textbf{[Y]}\\*
Umfassende Informationen über interne Bluetooth-Zustände in \texttt{debugfs}
bereitstellen.
\subsubsection{Bluetooth self testing support}
CONFIG\_BT\_SELFTEST [=n] \textbf{[N]}\\*
Führen Sie bei der Initialisierung des Bluetooth"=Subsystems Selbsttests durch.
Dies ist eine Entwickleroption und kann zu erheblichen Verzögerungen beim Booten
des Systems führen.
Wenn das Bluetooth"=Subsystem als Modul gebaut wird, werden die Testfälle als
erstes beim Laden des Moduls ausgeführt.
Wenn das Bluetooth"=Subsystem in das Kernel"=Image kompiliert wird, werden die
Testfälle erst spät in der Aufrufhierarchie ausgeführt.
\subsubsection{Bluetooth device drivers \texorpdfstring{$\rightarrow$}{->}}
\textit{(Bluetooth-Gerätetreiber)}
\paragraph{HCI USB driver}$~$\\
CONFIG\_BT\_HCIBTUSB [=m] \textbf{[M]}\\*
Bluetooth HCI USB-Treiber.
Dieser Treiber ist erforderlich, wenn Sie Bluetooth"=Geräte mit USB"=Schnittstelle
verwenden möchten.
Sagen Sie hier Y, um die Unterstützung für Bluetooth"=USB"=Geräte in den Kernel zu
kompilieren, oder sagen Sie M, um sie als Modul (btusb) zu kompilieren.
\subparagraph{Enable USB autosuspend for Bluetooth USB devices by default}$~$\\
CONFIG\_BT\_HCIBTUSB\_AUTOSUSPEND [=y] \textbf{[Y]}\\*
Sagen Sie hier Y, um USB-Autosuspend für Bluetooth-USB-Geräte standardmäßig zu aktivieren.
Dies kann durch die Übergabe von \texttt{btusb.enable\_autosuspend=$[y|n]$} in der
Kernel"=Kommandozeile über"=schrieben werden.
\subparagraph{Enable USB poll\_sync for Bluetooth USB devices by default}$~$\\
CONFIG\_BT\_HCIBTUSB\_POLL\_SYNC [=y] \textbf{[Y]}\\*
poll\_sync synchronisiert die USB"=Daten"= und -Ereignis"=Endpunkte, indem es letzteren
Vorrang einräumt.
Sagen Sie hier Y, um USB poll\_sync für Bluetooth"=USB"=Geräte standardmäßig zu
aktivieren.
\subparagraph{Broadcom protocol support}$~$\\
CONFIG\_BT\_HCIBTUSB\_BCM [=y] \textbf{[Y]}\\*
Die Unterstützung des Broadcom-Protokolls ermöglicht den Download von Firmware
und Patchram für Broadcom"=Bluetooth"=Controller.
Sagen Sie hier Y, um Unterstützung für das Broadcom"=Protokoll zu kompilieren.
\subparagraph{MediaTek protocol support}$~$\\
CONFIG\_BT\_HCIBTUSB\_MTK [=y] \textbf{[Y]}\\*
Die Unterstützung des MediaTek-Protokolls ermöglicht den Firmware"=Download
und die Chip"=Initialisierung für MediaTek Bluetooth"=USB"=Controller.
Sagen Sie hier Y, um die Unterstützung für das MediaTek"=Protokoll zu kompilieren.
\subparagraph{Realtek protocol support}$~$\\
CONFIG\_BT\_HCIBTUSB\_RTL [=y] \textbf{[Y]}\\*
Die Unterstützung des Realtek"=Protokolls ermöglicht den Download von Firmware
und Konfiguration für Realtek"=Bluetooth"=Controller.
Sagen Sie hier Y, um Unterstützung für das Realtek"=Protokoll zu kompilieren.
\paragraph{HCI SDIO driver}$~$\\
CONFIG\_BT\_HCIBTSDIO [=m] \textbf{[M]}\\*
Bluetooth-HCI-SDIO-Treiber.
Dieser Treiber ist erforderlich, wenn Sie ein Bluetooth"=Gerät mit
SDIO"=Schnittstelle verwenden möchten.
Sagen Sie hier Y, um die Unterstützung für Bluetooth"=SDIO"=Geräte
in den Kernel zu kompilieren, oder sagen Sie M, um sie als Modul (btsdio)
zu kompilieren.
\paragraph{HCI UART driver}$~$\\
CONFIG\_BT\_HCIUART [=m] \textbf{[M]}\\*
Bluetooth HCI UART-Treiber.
Dieser Treiber ist erforderlich, wenn Sie Bluetooth"=Geräte mit serieller
Schnittstelle verwenden möchten. Sie benötigen diesen Treiber auch, wenn
Sie UART"=basierte Bluetooth PCMCIA- und CF"=Geräte wie Xircom Credit Card
Adapter und BrainBoxes Bluetooth PC Card verwenden.
Sagen Sie hier Y, um die Unterstützung für Bluetooth"=UART"=Geräte in den
Kernel zu kompilieren, oder sagen Sie M, um sie als Modul (hci\_uart) zu
kompilieren.
\subparagraph{UART (H4) protocol support}$~$\\
CONFIG\_BT\_HCIUART\_H4 [=y] \textbf{[Y]}\\*
UART (H4) ist ein serielles Protokoll für die Kommunikation zwischen
Bluetooth"=Gerät und Host. Dieses Protokoll ist für die meisten
Bluetooth"=Geräte mit UART"=Schnittstelle erforderlich, einschließlich
PCMCIA- und CF"=Karten.
Sagen Sie hier Y, um Unterstützung für das HCI UART (H4) Protokoll zu kompilieren.
\subparagraph{UART Nokia H4+ protocol support}$~$\\
CONFIG\_BT\_HCIUART\_NOKIA [=m] \textbf{[M]}\\*
Nokia H4+ ist ein serielles Protokoll für die Kommunikation zwischen
Bluetooth"=Gerät und Host. Dieses Protokoll ist für Bluetooth"=Geräte mit
UART"=Schnittstelle in Nokia"=Geräten erforderlich.
Sagen Sie hier Y, um Unterstützung für das H4+"=Protokoll von Nokia zu kompilieren.
\subparagraph{BCSP protocol support}$~$\\
CONFIG\_BT\_HCIUART\_BCSP [=y] \textbf{[Y]}\\*
BCSP (BlueCore Serial Protocol) ist ein serielles Protokoll für die Kommunikation
zwischen Bluetooth"=Gerät und Host. Dieses Protokoll ist für Bluetooth"=Geräte
erforderlich, die nicht auf dem CSR BlueCore"=Chip basieren, einschließlich
PCMCIA- und CF"=Karten.
Sagen Sie hier Y, um Unterstützung für das HCI BCSP"=Protokoll zu kompilieren.
\subparagraph{Atheros AR300x serial support}$~$\\
CONFIG\_BT\_HCIUART\_ATH3K [=y] \textbf{[Y]}\\*
HCIATH3K (HCI Atheros AR300x) ist ein serielles Protokoll für die Kommunikation
zwischen Host und Atheros AR300x Bluetooth"=Geräten. Mit diesem Protokoll können
AR300x"=Chips mit Unterstützung für die Energieverwaltung aktiviert werden.
Aktivieren Sie dies, wenn Sie ein serielles Bluetooth"=Gerät vom
Typ Atheros AR300x besitzen.
Sagen Sie hier Y, um Unterstützung für das HCI UART ATH3K Protokoll zu kompilieren.
\subparagraph{HCILL protocol support}$~$\\
CONFIG\_BT\_HCIUART\_LL [=y] \textbf{[Y]}\\*
HCILL (HCI Low Level) ist ein serielles Protokoll für die Kommunikation zwischen
Bluetooth"=Gerät und Host. Dieses Protokoll ist für serielle Bluetooth"=Geräte
erforderlich, die auf BRF"=Chips von Texas Instruments basieren.
Sagen Sie hier Y, um Unterstützung für das HCILL"=Protokoll zu kompilieren.
\subparagraph{Three-wire UART (H5) protocol support}$~$\\
CONFIG\_BT\_HCIUART\_3WIRE [=y] \textbf{[Y]}\\*
Der HCI Three-wire UART Transport Layer ermöglicht es, die Bluetooth HCI über
eine serielle Schnittstelle zu nutzen. Der HCI Three"=wire UART Transport Layer
geht davon aus, dass die UART"=Kommunikation Bitfehler, Overrun"=Fehler oder
Burst"=Fehler aufweisen kann, wodurch CTS/RTS"=Leitungen überflüssig werden.
Sagen Sie hier Y, um Unterstützung für das Three"=wire UART"=Protokoll
zu kompilieren.
\subparagraph{Intel protocol support}$~$\\
CONFIG\_BT\_HCIUART\_INTEL [=y] \textbf{[Y]}\\*
Die Unterstützung des Intel"=Protokolls ermöglicht Bluetooth HCI über die
serielle Schnittstelle für Intel"=Bluetooth"=Controller.
Sagen Sie hier Y, um die Unterstützung für das Intel"=Protokoll zu kompilieren.
\subparagraph{Broadcom protocol support}$~$\\
CONFIG\_BT\_HCIUART\_BCM [=y] \textbf{[Y]}\\*
Die Unterstützung des Broadcom"=Protokolls ermöglicht Bluetooth HCI über die
serielle Schnittstelle für Broadcom Bluetooth"=Controller.
Sagen Sie hier Y, um Unterstützung für das Broadcom"=Protokoll zu kompilieren.
\subparagraph{Realtek protocol support}$~$\\
CONFIG\_BT\_HCIUART\_RTL [=y] \textbf{[Y]}\\*
Die Unterstützung des Realtek-Protokolls ermöglicht Bluetooth HCI über eine
serielle 3-Draht"=Schnittstelle für Realtek Bluetooth"=Controller.
Sagen Sie hier Y, um Unterstützung für das Realtek"=Protokoll zu kompilieren.
\subparagraph{Qualcomm Atheros protocol support}$~$\\
CONFIG\_BT\_HCIUART\_QCA [=y] \textbf{[Y]}\\*
Das Qualcomm Atheros-Protokoll unterstützt die HCI-In-Band"=Sleep"=Funktion
über die serielle Schnittstelle (H4) zwischen Controller und Host.
Dieses Protokoll ist für die UART-Taktsteuerung für QCA"=Bluetooth"=Geräte
erforderlich.
Sagen Sie hier Y, um Unterstützung für das QCA-Protokoll zu kompilieren.
\subparagraph{Intel AG6XX protocol support}$~$\\
CONFIG\_BT\_HCIUART\_AG6XX [=y] \textbf{[Y]}\\*
Die Unterstützung des Intel/AG6XX"=Protokolls ermöglicht Bluetooth HCI über
die serielle Schnittstelle für Intel ibt 2.1 Bluetooth"=Controller.
Sagen Sie hier Y, um Unterstützung für das Intel AG6XX"=Protokoll
zu kompilieren.
\subparagraph{Marvell protocol support}$~$\\
CONFIG\_BT\_HCIUART\_MRVL [=y] \textbf{[Y]}\\*
Marvell ist ein serielles Protokoll für die Kommunikation zwischen
Bluetooth"=Gerät und Host. Dieses Protokoll ist für die meisten
Marvell"=Bluetooth"=Geräte mit UART"=Schnittstelle erforderlich.
Sagen Sie hier Y, um Unterstützung für das HCI MRVL"=Protokoll zu kompilieren.
\subparagraph{HCI BCM203x USB driver}$~$\\
CONFIG\_BT\_HCIBCM203X [=m] \textbf{[M]}\\*
Bluetooth HCI BCM203x USB-Treiber.
Dieser Treiber bietet den Mechanismus zum Laden der Firmware für die Broadcom
Blutonium"=basierten Geräte.
Sagen Sie hier Y, um die Unterstützung für HCI BCM203x"=Geräte in den Kernel zu
kompilieren oder sagen Sie M, um dies als Modul (bcm203x) zu kompilieren.
\subparagraph{HCI BCM4377/4378/4387 PCIe driver}$~$\\
CONFIG\_BT\_HCIBCM4377 [=m] \textbf{[M]}\\*
Unterstützung für Broadcom BCM4377/4378/4387 Bluetooth"=Chipsätze, die über
PCIe angeschlossen sind. Diese sind in der Regel in Apple"=Geräten zu finden.
Sagen Sie hier Y, um Unterstützung für Geräte der HCI BCM4377"=Familie in den
Kernel zu kompilieren, oder sagen Sie M, um dies als Modul (hci\_bcm4377)
zu kompilieren.
\end{document}