# Drivers This section documents the drivers from the Jumpstarter packages directory. Each driver is contained in a separate package in the form of `jumpstarter-driver-{name}` and provides specific functionality for interacting with different hardware components and systems. ## Types of Drivers Jumpstarter includes several types of drivers organized by their primary function: ### System Control Drivers that control the power state and basic operation of devices: - {doc}`Power ` (`jumpstarter-driver-power`) - Power control for devices - {doc}`gpiod ` (`jumpstarter-driver-gpiod`) - GPIO hardware control via libgpiod - {doc}`Yepkit ` (`jumpstarter-driver-yepkit`) - Yepkit USB hub hardware control - {doc}`DUT Link ` (`jumpstarter-driver-dutlink`) - [DUT Link Board](https://github.com/jumpstarter-dev/dutlink-board) hardware control - {doc}`Energenie PDU ` (`jumpstarter-driver-energenie`) - Energenie PDU control - {doc}`Tasmota ` (`jumpstarter-driver-tasmota`) - Tasmota device control - {doc}`HTTP Power ` (`jumpstarter-driver-http-power`) - HTTP-based power control for smart sockets - {doc}`Noyito Relay ` (`jumpstarter-driver-noyito-relay`) - NOYITO USB relay board control ### Communication Drivers that provide various communication interfaces: - {doc}`ADB ` (`jumpstarter-driver-adb`) - Android Debug Bridge tunneling - {doc}`BLE ` (`jumpstarter-driver-ble`) - Bluetooth Low Energy communication - {doc}`CAN ` (`jumpstarter-driver-can`) - Controller Area Network communication - {doc}`HTTP ` (`jumpstarter-driver-http`) - HTTP communication - {doc}`mitmproxy ` (`jumpstarter-driver-mitmproxy`) - HTTP/HTTPS interception, mocking, and traffic recording - {doc}`DUT Network ` (`jumpstarter-driver-dut-network`) - DUT network isolation with bridge, DHCP, DNS, and NAT - {doc}`Network ` (`jumpstarter-driver-network`) - Network interfaces and configuration - {doc}`PySerial ` (`jumpstarter-driver-pyserial`) - Serial port communication - {doc}`SNMP ` (`jumpstarter-driver-snmp`) - Simple Network Management Protocol - {doc}`SSH ` (`jumpstarter-driver-ssh`) - SSH wrapper driver - {doc}`SSH MITM ` (`jumpstarter-driver-ssh-mitm`) - SSH proxy with server-side private key storage - {doc}`TFTP ` (`jumpstarter-driver-tftp`) - Trivial File Transfer Protocol - {doc}`VNC ` (`jumpstarter-driver-vnc`) - Virtual Network Computing remote desktop - {doc}`XCP ` (`jumpstarter-driver-xcp`) - Universal Measurement and Calibration Protocol ### Storage and Data Drivers that control storage devices and manage data: - {doc}`OpenDAL ` (`jumpstarter-driver-opendal`) - Open Data Access Layer - {doc}`SD Wire ` (`jumpstarter-driver-sdwire`) - SD card switching - {doc}`iSCSI ` (`jumpstarter-driver-iscsi`) - iSCSI target server for LUN export ### Media Drivers that handle media streams: - {doc}`uStreamer ` (`jumpstarter-driver-ustreamer`) - Video streaming ### Automotive Diagnostics Drivers for automotive diagnostic protocols: - {doc}`DoIP ` (`jumpstarter-driver-doip`) - Diagnostics over Internet Protocol (ISO 13400) - {doc}`UDS ` (`jumpstarter-driver-uds`) - Unified Diagnostic Services (ISO 14229) - {doc}`UDS over DoIP ` (`jumpstarter-driver-uds-doip`) - UDS diagnostics over DoIP transport - {doc}`UDS over CAN ` (`jumpstarter-driver-uds-can`) - UDS diagnostics over CAN/ISO-TP transport - {doc}`OBD-II ` (`jumpstarter-driver-obd`) - OBD-II vehicle diagnostics via ELM327 - {doc}`SOME/IP ` (`jumpstarter-driver-someip`) - SOME/IP protocol operations via opensomeip ### Flashing and Programming Drivers for flashing firmware and programming devices: - {doc}`ESP32 ` (`jumpstarter-driver-esp32`) - ESP32 flashing via esptool - {doc}`Flashers ` (`jumpstarter-driver-flashers`) - Flash memory programming tools - {doc}`Pi Pico ` (`jumpstarter-driver-pi-pico`) - Raspberry Pi Pico UF2 flashing via BOOTSEL - {doc}`Probe-RS ` (`jumpstarter-driver-probe-rs`) - Debug probe support - {doc}`ST-LINK MSD ` (`jumpstarter-driver-stlink-msd`) - ST-LINK mass storage flasher for STM32 - {doc}`U-Boot ` (`jumpstarter-driver-uboot`) - Universal Bootloader interface - {doc}`RideSX ` (`jumpstarter-driver-ridesx`) - Flashing and power management for Qualcomm RideSX ### Emulation Drivers for virtual and emulated targets: - {doc}`Android Emulator ` (`jumpstarter-driver-androidemulator`) - Android emulator lifecycle management with ADB tunneling - {doc}`QEMU ` (`jumpstarter-driver-qemu`) - QEMU virtual machine management - {doc}`Renode ` (`jumpstarter-driver-renode`) - Renode embedded systems emulation - {doc}`Corellium ` (`jumpstarter-driver-corellium`) - Corellium virtualization platform ### Utility General-purpose utility drivers: - {doc}`Shell ` (`jumpstarter-driver-shell`) - Shell command execution - {doc}`SSH Mount ` (`jumpstarter-driver-ssh-mount`) - SSHFS remote filesystem mounting - {doc}`TMT ` (`jumpstarter-driver-tmt`) - Test Management Tool wrapper ```{toctree} :hidden: adb.md androidemulator.md ble.md can.md corellium.md doip.md dut-network.md dutlink.md energenie.md esp32.md flashers.md gpiod.md http.md http-power.md iscsi.md mitmproxy.md network.md noyito-relay.md obd.md opendal.md pi-pico.md power.md probe-rs.md pyserial.md qemu.md renode.md ridesx.md sdwire.md shell.md snmp.md someip.md ssh.md ssh-mount.md ssh-mitm.md stlink-msd.md tasmota.md tftp.md tmt.md uboot.md uds.md uds-can.md uds-doip.md ustreamer.md vnc.md xcp.md yepkit.md ```