10 KiB
Chrome Bluetooth Thermal Printer Connection Troubleshooting Guide
Common Issue: Printer Cannot Connect in Chrome
If you're experiencing connection issues with your Bluetooth thermal printer in Chrome, follow this comprehensive troubleshooting guide.
Quick Fix Checklist
✅ Before You Start:
- Printer is powered ON
- Printer is in pairing/discoverable mode (LED blinking)
- Printer is within 1-2 meters of your device
- Using Chrome 56+ or Edge (Chromium-based)
- Accessing Odoo via HTTPS (or localhost)
- Bluetooth is enabled on your device
Step-by-Step Troubleshooting
Step 1: Verify Chrome Bluetooth Support
- Open Chrome and navigate to:
chrome://flags - Search for "Web Bluetooth"
- Ensure it's Enabled (should be by default)
- If you changed anything, restart Chrome
Test Bluetooth API:
- Press
F12to open Developer Tools - Go to the Console tab
- Type:
navigator.bluetooth.getAvailability() - Press Enter
- Should return a Promise that resolves to
true
If it returns false or throws an error, your browser doesn't support Web Bluetooth.
Step 2: Check System Bluetooth
Windows 10/11:
- Open Settings > Devices > Bluetooth & other devices
- Ensure Bluetooth is ON
- If your printer appears in the list, click it and select Remove device
- This ensures a fresh pairing attempt
macOS:
- Open System Preferences > Bluetooth
- Ensure Bluetooth is ON
- If your printer appears, click the X to forget it
- This ensures a fresh pairing attempt
Linux:
- Ensure BlueZ 5.41+ is installed:
bluetoothctl --version - Check Bluetooth status:
systemctl status bluetooth - If printer is paired:
bluetoothctl remove [MAC_ADDRESS]
Step 3: Prepare Your Printer
For RPP02 and Similar Printers:
- Turn OFF the printer
- Press and HOLD the power button
- Keep holding until the LED starts blinking rapidly (usually 3-5 seconds)
- Release the button
- The printer is now in pairing mode
For Epson TM-Series:
- Consult your printer manual for pairing mode
- Usually involves holding a specific button combination
- LED should indicate pairing mode
For Star Micronics:
- Check printer manual for pairing instructions
- Some models have a dedicated pairing button
Step 4: Clear Browser Data (If Needed)
If you've tried pairing before and it failed:
- Open Chrome Settings
- Go to Privacy and security > Site Settings
- Scroll down to Bluetooth
- Find your Odoo site in the list
- Click it and Clear data
- Alternatively, clear all browsing data:
- Settings > Privacy and security > Clear browsing data
- Select "Cookies and other site data"
- Click "Clear data"
Step 5: Proper Pairing Procedure
-
In Odoo POS:
- Click the Bluetooth printer icon in the top bar
- Click "Scan for Devices"
-
Chrome will show a pairing dialog:
- You should see your printer in the list
- The printer name might be: RPP02, Printer-XXXX, BT-XXXX, etc.
- Click on your printer to select it
- Click the "Pair" button
-
Wait for connection:
- Status will show "Connecting..."
- Should connect within 5-10 seconds
- Status will turn green when connected
-
Test the connection:
- Click "Test Print"
- Printer should print a test receipt
Step 6: If Printer Doesn't Appear in Scan
Possible Causes:
-
Printer not in pairing mode
- Solution: Put printer in pairing mode (see Step 3)
-
Printer already paired to another device
- Solution: Unpair from other device first
- Or: Reset printer to factory settings (consult manual)
-
Bluetooth interference
- Solution: Move away from other Bluetooth devices
- Turn off nearby Bluetooth devices temporarily
-
Printer out of range
- Solution: Move printer within 1-2 meters
-
Printer battery low
- Solution: Charge the printer
Step 7: If Connection Fails After Pairing
Error: "Failed to connect to bluetooth device"
Possible Solutions:
-
Restart the printer:
- Turn OFF completely
- Wait 10 seconds
- Turn ON
- Put in pairing mode again
- Try connecting again
-
Restart Bluetooth on your device:
- Turn OFF Bluetooth
- Wait 10 seconds
- Turn ON Bluetooth
- Try connecting again
-
Try a different USB Bluetooth adapter (if using one):
- Some USB Bluetooth adapters have compatibility issues
- Try the built-in Bluetooth if available
-
Check for Bluetooth driver updates:
- Windows: Device Manager > Bluetooth > Update driver
- macOS: System updates usually include driver updates
- Linux: Update BlueZ package
Step 8: If Printer Connects But Doesn't Print
Possible Causes:
-
No paper in printer
- Solution: Load paper correctly
-
Paper jam
- Solution: Open printer and clear jam
-
Printer in error state
- Solution: Check printer LED indicators
- Consult printer manual for error codes
- Try power cycling the printer
-
Wrong printer model/protocol
- Solution: Verify your printer supports ESC/POS protocol
- Check printer specifications
Advanced Troubleshooting
Enable Chrome Bluetooth Logging
- Close all Chrome windows
- Open Command Prompt (Windows) or Terminal (Mac/Linux)
- Run Chrome with logging:
Windows:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --enable-logging --v=1
macOS:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-logging --v=1
Linux:
google-chrome --enable-logging --v=1
- Try connecting to the printer
- Check the log file for errors:
- Windows:
%LOCALAPPDATA%\Google\Chrome\User Data\chrome_debug.log - macOS/Linux:
~/Library/Application Support/Google/Chrome/chrome_debug.log
- Windows:
Check Bluetooth Service UUIDs
The module now tries multiple common Bluetooth service UUIDs:
00001101-0000-1000-8000-00805f9b34fb(Serial Port Profile - SPP)000018f0-0000-1000-8000-00805f9b34fb(Alternative serial service)49535343-fe7d-4ae5-8fa9-9fafd205e455(Microchip transparent UART)0000ffe0-0000-1000-8000-00805f9b34fb(Common serial service)6e400001-b5a3-f393-e0a9-e50e24dcca9e(Nordic UART Service)
If your printer uses a different UUID, you may need to add it to the code.
Test with Chrome's Bluetooth Internals
- Open Chrome and navigate to:
chrome://bluetooth-internals - Click "Devices" tab
- Click "Start Scan"
- Look for your printer in the list
- Click on your printer
- Click "Connect"
- Explore available services and characteristics
This helps identify if the issue is with Chrome's Bluetooth or the module.
Known Limitations
Chrome Web Bluetooth API Limitations
-
Serial Port Profile (SPP) Support:
- Chrome's Web Bluetooth API primarily supports GATT services
- Many thermal printers use SPP which is not fully supported
- The module now includes fallback logic to find writable characteristics
-
Platform Differences:
- Windows: Best support, most reliable
- macOS: Good support, some printer models may have issues
- Linux: Requires BlueZ 5.41+, may need additional permissions
- Chrome OS: Excellent support
- Android: Good support, requires location permission
-
HTTPS Requirement:
- Web Bluetooth only works over HTTPS
- Exception: localhost and 127.0.0.1
- Self-signed certificates may cause issues
Alternative Solutions
If Chrome Bluetooth Doesn't Work
-
Use a different browser:
- Try Microsoft Edge (Chromium-based)
- Try Opera browser
- Both support Web Bluetooth API
-
Use USB connection:
- Connect printer via USB cable
- Use browser's standard print dialog
- Less convenient but more reliable
-
Use a Bluetooth-to-USB adapter:
- Some adapters create a virtual serial port
- Printer appears as USB device
- Use standard printing methods
-
Use a dedicated POS terminal:
- Hardware POS terminals often have better Bluetooth support
- More expensive but more reliable
Printer-Specific Notes
RPP02 Thermal Printer
- Pairing Mode: Hold power button until LED blinks rapidly
- Service UUID: Usually uses standard SPP
- Compatibility: Good with Chrome on Windows and macOS
- Common Issue: Sometimes needs to be unpaired and re-paired
Epson TM-P20/P80
- Pairing Mode: Consult manual (varies by model)
- Service UUID: Standard ESC/POS services
- Compatibility: Excellent with Chrome
- Common Issue: May need firmware update
Star Micronics SM-L200/L300
- Pairing Mode: Dedicated pairing button
- Service UUID: Standard ESC/POS services
- Compatibility: Excellent with Chrome
- Common Issue: Battery level affects connection stability
Getting Additional Help
If you've tried all the above and still can't connect:
-
Check browser console for errors:
- Press F12
- Go to Console tab
- Look for error messages
- Take a screenshot
-
Gather information:
- Chrome version:
chrome://version - Operating system and version
- Printer model and firmware version
- Error messages from console
- Steps you've already tried
- Chrome version:
-
Test with a different device:
- Try on another computer/tablet
- Helps isolate if issue is device-specific
-
Contact support with:
- All information gathered above
- Screenshots of errors
- Printer specifications
- Bluetooth adapter information (if using external)
Recent Improvements (Latest Version)
The module has been updated with the following improvements:
-
Multiple Service UUID Support:
- Now tries 5 different common Bluetooth service UUIDs
- Automatically falls back to alternative services
-
Automatic Characteristic Discovery:
- If standard services aren't found, scans all services
- Finds any writable characteristic automatically
-
Better Error Messages:
- More descriptive error messages
- Helps identify specific connection issues
-
Improved Chunk Handling:
- Reduced chunk size to 20 bytes for maximum compatibility
- Supports both write and writeWithoutResponse methods
- Better timing between chunks
-
Enhanced Device Filtering:
- Filters for common thermal printer name patterns
- Falls back to showing all devices if filters don't match
These improvements should resolve most connection issues with Chrome and Bluetooth thermal printers.