obexftp
Transfer files via OBEX (e.g., Bluetooth)
SYNOPSIS
obexftp [OPTIONS]
PARAMETERS
-b <bt_addr>, --bluetooth <bt_addr>
Specifies the Bluetooth device address to connect to, e.g., '00:11:22:AA:BB:CC'.
-i <irda_addr>, --irda <irda_addr>
Specifies the IrDA device address to connect to.
-u <usb_dev_id>, --usb <usb_dev_id>
Specifies the USB device ID, particularly useful for devices like certain Nokia phones.
-t <port>, --tty <port>
Specifies the serial port (TTY) to connect to, e.g., /dev/ttyS0 or /dev/rfcomm0.
-s <channel>, --channel <channel>
Specifies the OBEX channel number (port) on the remote device.
-N, --no-authentication
Disables OBEX authentication, which can be useful for some devices or setups.
-a, --auto
Automatically attempts to connect using the first available protocol (Bluetooth, IrDA, USB, TTY).
-L, --list-devices
Lists available OBEX devices that obexftp can detect and potentially connect to.
-p <file>, --put <file>
Uploads the specified local file to the current working folder on the remote device.
-g <file>, --get <file>
Downloads the specified remote file from the device to the current local directory.
-l <folder>, --list <folder>
Lists the contents of the specified remote folder. If no folder is provided, lists the contents of the current remote directory.
-c <folder>, --change-folder <folder>
Changes the current working folder on the remote device to the specified folder.
-P <folder>, --create-folder <folder>
Creates a new folder with the specified name on the remote device.
-d <file>, --delete <file>
Deletes the specified file or empty folder on the remote device.
-o, --opp
Uses the OBEX Object Push Profile (OPP) for communication, commonly used for transferring vCards or calendar entries.
-f, --ftp
Uses the OBEX File Transfer Profile (FTP) for general file system operations like listing, putting, and getting files.
-v, --verbose
Increases the verbosity of output, providing more detailed information about the connection and transfer process.
-h, --help
Displays a brief help message with command usage and exits.
-V, --version
Displays the version information of obexftp and exits.
DESCRIPTION
obexftp is a command-line client for the Object Exchange (OBEX) protocol. It enables users to transfer files to and from OBEX-capable devices, most commonly older mobile phones, PDAs, and embedded systems. obexftp supports various transport layers including Bluetooth, IrDA, USB (for specific devices like Nokia), and serial (TTY) connections.
It can perform operations like listing directories, putting (uploading) files, getting (downloading) files, changing directories, creating and deleting folders, and some device-specific synchronization operations. It's particularly useful for interacting with devices that don't support modern file transfer protocols like MTP or ADB but rely on OBEX for communication.
CAVEATS
obexftp primarily supports older devices that communicate using the OBEX protocol, often via Bluetooth or IrDA. Modern smartphones generally use MTP (Media Transfer Protocol) or ADB (Android Debug Bridge) for file transfer, making obexftp less relevant for them. Establishing a connection, especially over Bluetooth, may require proper device pairing and setup of the underlying Bluetooth stack on the Linux system.
CONNECTION METHODS
obexftp supports various underlying transport methods for connecting to devices: Bluetooth (-b), IrDA (-i), USB (-u, for specific devices like Nokia phones), and serial (TTY) (-t). Users typically need to ensure their system's respective hardware and software stacks (e.g., Bluetooth daemon) are properly configured and devices are paired before attempting a connection.
PROFILES (OPP/FTP)
obexftp can operate using different OBEX profiles depending on the desired operation. The Object Push Profile (OPP, specified with -o) is commonly used for transferring single objects such as contacts (vCards) or calendar entries (vCal). The File Transfer Profile (FTP, specified with -f) is used for general file system operations like listing directories, uploading files (put), and downloading files (get).
HISTORY
obexftp is a component of the OpenOBEX project, which provides an open-source implementation of the OBEX protocol. It emerged to address the need for Linux users to interact with and transfer data to and from mobile phones and PDAs prevalent in the early to mid-2000s, before MTP and ADB became standard for mobile device connectivity. While its primary use cases have diminished with technological advancements, it remains a valuable tool for specific legacy devices and embedded systems.
SEE ALSO
obexd(8), bluetoothctl(1), sdptool(1)