7.1 KiB
novacom/novacomd macOS Installer
This package provides a simple, self-contained macOS installer for the novacom client tools and novacomd daemon, which enable communication with webOS devices (Palm Pre, TouchPad, etc.).
What's Included
The installer package (novacom-installer.pkg) contains:
- novacomd - The daemon that communicates with webOS devices via USB
- novacom - Command-line client for device communication
- novaterm - Terminal script for interactive shell access to devices
- libusb libraries - Bundled USB communication libraries (no Homebrew required!)
- Automatic launchd service setup - novacomd will automatically start on boot
Installation Location
All files are installed to /usr/local/:
Binaries (/usr/local/bin/):
/usr/local/bin/novacomd/usr/local/bin/novacom/usr/local/bin/novaterm
Libraries (/usr/local/lib/):
/usr/local/lib/libusb-0.1.4.dylib/usr/local/lib/libusb-1.0.0.dylib
LaunchDaemon:
/Library/LaunchDaemons/com.palm.novacomd.plist
Prerequisites
None! The installer is completely self-contained and includes all necessary USB libraries. You do not need to install Homebrew or any dependencies.
Installation Steps
-
Double-click
novacom-installer.pkgto run the installer -
Follow the installation wizard
- You'll need administrator privileges
- The installer will automatically set up the launchd service
-
Verify installation:
# Check that novacomd service is running sudo launchctl list | grep novacomd # Check installed binaries which novacomd novacom novaterm # View novacomd logs tail -f /var/log/novacomd.log
That's it! No manual dependency installation required.
Usage
Basic Commands
List connected devices:
novacom -l
Open terminal on device:
novaterm
Run command on device:
novacom -t run file:///bin/ls
Get device information:
novacom -t run file:///bin/uname -a
Service Management
The novacomd daemon runs automatically as a system service. You can manage it with:
Check service status:
sudo launchctl list | grep novacomd
Stop the service:
sudo launchctl stop com.palm.novacomd
Start the service:
sudo launchctl start com.palm.novacomd
Unload the service (prevent auto-start):
sudo launchctl unload /Library/LaunchDaemons/com.palm.novacomd.plist
Reload the service (after unloading):
sudo launchctl load /Library/LaunchDaemons/com.palm.novacomd.plist
View logs:
tail -f /var/log/novacomd.log
Troubleshooting
Service won't start
If the novacomd service fails to start:
-
Check the logs:
cat /var/log/novacomd.log -
Verify libraries are installed:
ls -la /usr/local/lib/libusb* -
Try running manually to see error messages:
sudo /usr/local/bin/novacomd -
Check service status:
sudo launchctl list | grep novacomd
Device not detected
If your webOS device isn't showing up:
-
Make sure novacomd is running:
sudo launchctl list | grep novacomd -
Check USB connection and cable
-
Try restarting the service:
sudo launchctl stop com.palm.novacomd sudo launchctl start com.palm.novacomd -
Check for error messages in logs:
tail -f /var/log/novacomd.log
PATH issues
If commands aren't found, make sure /usr/local/bin is in your PATH:
echo $PATH
To add it (if needed):
# For zsh (default on modern macOS)
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# For bash
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
Library conflicts
If you have Homebrew's libusb-compat installed and encounter issues, you can either:
- Keep both (they shouldn't conflict as they're in different locations)
- Uninstall Homebrew's version:
brew uninstall libusb-compat libusb
The installer uses /usr/local/lib which takes precedence over Homebrew's /opt/homebrew/lib.
Uninstallation
To remove novacom/novacomd:
-
Stop and unload the service:
sudo launchctl stop com.palm.novacomd sudo launchctl unload /Library/LaunchDaemons/com.palm.novacomd.plist -
Remove files:
sudo rm -f /usr/local/bin/novacomd sudo rm -f /usr/local/bin/novacom sudo rm -f /usr/local/bin/novaterm sudo rm -f /usr/local/lib/libusb-0.1.4.dylib sudo rm -f /usr/local/lib/libusb-1.0.0.dylib sudo rm -f /Library/LaunchDaemons/com.palm.novacomd.plist sudo rm -f /var/log/novacomd.log
Architecture Support
This package was built on Apple Silicon (arm64) and includes binaries for:
- novacomd: Linked against bundled libusb libraries
- novacom: Standalone binary with no external dependencies
- libusb libraries: arm64 architecture from Homebrew
The binaries should work on Apple Silicon Macs. For Intel Macs, you may need to rebuild from source or request an Intel-compatible package.
What's Bundled
The installer includes pre-compiled libraries from Homebrew:
- libusb-compat 0.1.4 - Legacy libusb API compatibility layer
- libusb 1.0.0 - Modern USB library for macOS
These are bundled directly in the package, so you don't need Homebrew installed. The binaries have been relinked to use /usr/local/lib instead of Homebrew paths.
Technical Details
Why bundle libusb?
The original novacomd requires libusb-compat which isn't part of macOS. Rather than requiring users to install Homebrew and manually install dependencies, this installer bundles the necessary libraries directly. This makes distribution much simpler and ensures the package works on any compatible Mac.
Library relinking
The installer uses install_name_tool to update library paths:
novacomdreferences/usr/local/lib/libusb-0.1.4.dyliblibusb-0.1.4.dylibreferences/usr/local/lib/libusb-1.0.0.dylib
This ensures the binaries find the bundled libraries instead of looking for Homebrew installations.
System Requirements
- macOS: 11.0 (Big Sur) or later recommended
- Architecture: Apple Silicon (arm64) - built and tested on Apple Silicon
- Permissions: Administrator/root access required for installation
License
novacom and novacomd are licensed under the Apache License 2.0 Copyright (c) 2008-2012 Hewlett-Packard Development Company, L.P.
libusb and libusb-compat are licensed under the LGPL 2.1
Credits
- Original software: HP/Palm
- macOS modernization: NotAlexNoyle
- Installer package with bundled dependencies: Created for simplified distribution
Support
For issues with:
- novacomd/novacom functionality: See the original project documentation
- This installer package: Contact the package creator
- webOS devices: Consult webOS community resources
Version History
1.0.0
- Initial release
- Bundled libusb-compat and libusb libraries
- Automatic launchd service setup
- Self-contained installation (no Homebrew required)