How To Program a Philips Pronto Using USB on Mac OS X
This article explains how I got my Philips Pronto Universal Remote editing working under Mac OSX using a USB-to-RS232 Adapter.
Philips Pronto Remote Control
No universal remotes made today are as versatile as the original Philips Pronto line. My two TS-1000′s are still going strong, although they are wearing out. These remotes have been discontinued for a few years now, and earlier this year Philips Home Entertainment division was sold off so there’s little hope they’ll make a come back. We’re still waiting for someone to produce a reliable touch-screen remote with programable button designs and IR commands. The closest match on the consumer market today I can find is the L5 Remote, which adds an IR dongle to an iPad or iPhone, however its macro ability is limited and it freezes frequently if you press buttons too quickly (due to a hardware limitation of the dongle and iOS interface). I have the L5 and I’ll post an article when I get it working satisfactorily.
Connecting a Philips Pronto to a computer requires rs-232 serial communications, using a special cable that converts the minimal 4 pins of a 9-pin connector to a male 4 “ring” 1/4″ phone plug. This cable comes with the Pronto, so if you don’t have one you’ll either need to make one or find one on the Internet.
USB to RS232 Adapters
RS-232 and USB are both serial interfaces using different hardware technologies and speeds. Conversion between the two requires more electronics than wiring for different pinouts. There are several “rs232 to usb” adapters on the market, ranging between $15 and $30. They are based on either the Prolific PL-2303 chipset, FTDI chipset, or custom chipsets, and the reality is that most of these work better on Windows and Linux than on the Mac. The reasons for this are that the Linux kernel has always had good drivers for the popular serial technologies, and manufacturers usually focus on writing Windows drivers, so the Macs are a bit of a half-hearted effort. It also doesn’t help the situation that the switch from Snow Leopard to Lion or Mountain Lion was also a major change from 32-bit drivers to 64-bit.
I own three of the most popular USB rs232 adapters:
- Plugable USB to RS-232 DB9 Serial Adapter (Prolific PL2303 Chipset, has an OpenSource Mac driver)
- Belkin USB SERIAL PORT ADAPTER F5U409 (MCT/Philips P87C52X2BA Chipset)
- Keyspan by Tripp Lite USA-19HS Hi-Speed USB Serial Adapter (Custom TI Chipset)
For Linux the PL2303 Chipset is probably the best choice. For Windows all three are suppose to work but your milage will vary depending on the OS version and the device you are connecting. However for the Mac OS X, despite the fact the PL2303 chipset has an OpenSource driver for the Mac to play with, the only one I recommend and could get working with the Pronto Remote was the Keyspan USA-19HS:
The Keyspan USA-19HS adapter is also hackable and programable, although I did not need to do anything special like that to get it working. It also appears that this Keyspan adapter is the most multi-os compatible adapter and should meet most needs in general.
ProntoEdit and Tonto
ProntoEdit is the computer application provided by Philips that allows you to download, edit, and upload the detailed configurations for the Pronto Remote. There are versions called “ProntoEdit” and “ProntoEdit Professional”, which are tied to specific devices and which version of the software you need will depend on the remote you have. ProntoEdit only runs on Windows (and only older versions of Windows). The only way to use this software on a Mac or Linux is in a Virtual Machine and is beyond the scope of this article. If you are looking for this software it’s getting hard to find because Philips closed down the web site, so your best course is to start HERE. The manual for using this software (and it applies to Tonto as well) can be found HERE.
This article is going to use Tonto as the editor.
Tonto is an OpenSource project to replace ProntoEdit and the software works enough like ProntoEdit that if you are familiar with one you can use the other. The Tonto project itself is no longer active and replaced on SourceForge by another project with the same name, but the real project can be found HERE. The releases available for download there do not work for me however, and I’ve provided the one I use HERE. The important thing to know here is that all versions of Tonto, whether binary app or Java, only work as a “32-bit” mode application. This makes it more difficult to get them working on OS releases later than Snow Leopard.
Snow Leopard, Lion, and Mountain Lion. Although the Keyspan USB adapter will work on all MAC OS X releases, because it’s a 32-bit only application I have not been able to get the Tonto software working on Lion or Mountain Lion. It’s working only on Snow Leopard for me. You could run it in a Snow Leopard Virtual Machine under Lion or Mountain Lion but I didn’t do this. There is a Java jnlp webstart version of Tonto on the project site that I cold not get working at all (kept getting communication library failures), but you might get that working on the later OS releases if you force your system to use “Java J2SE 5.0 32-bit” and/or grab the Snow Leopard libraries.
For the purposes of this article I’m going to focus directly on Snow Leopard.
Steps For Getting Tonto Working With Philips Pronto On Mac Snow Leopard
This section describes the steps I took to get the Keyspan USB Serial adapter, Mac OSX Snow Leopard, and the Philips Pronto Remote all working together.
- REMOVE CONFLICTING DRIVERS
If you’ve ever tried any serial adapters on your system, make sure you have no conflicting USB RS-232 Serial Drivers installed. Using a Terminal Window, type the following:
ls | grep -e KeyspanUSA -e Prolific -e BelkinF5U -e 2303 -e USBSerial
This should produce a list of possible kext directories for serial USB adapters. You need to be careful about this step because if you have used other specialized USB devices with this computer those drivers may also appear in this list and removing them may cause that device to no longer work when you plug it in. I highly recommend that you perform a “cp -r ” command and copy any kext directory listed to another safe location in case you have to put it back later.
For each of the drivers you plan to remove, perform the following steps (in all cases replace the string “drivername” with the name of the kext driver listed from the above ls command):
cp -r drivername ~/Downloads/USBdrivers/drivername
rm -r drivername
Reboot your computer.
- INSTALL THE DRIVER
Making sure first that the Keyspan adapter is NOT PLUGGED IN, install the “Driver for USA-19HS (Mac OS X 10.6.x to 10.8.x)” from the Tripp Lite website. Then as a precaution, perform the following actions using the Terminal program:
You may or may not get an error on the “kextload” command, depending on whether the driver was already loaded or not.
Reboot your computer.
- CONFIGURE THE DRIVER
Plug in the Keystone RS232 adapter into a USB port. If the system prompts you to go into System Network preferences, do so. If it doesn’t, then go to System Preferences and select Networking. If there is already a “Keyspan USA-19H” service listed then highlight it and click “Advanced…”. If there isn’t one, click the “+” sign in the lower left corner, select the “Keyspan USA-19H” interface, click “Create”, then click “Advanced…”
Once in the “Advanced…” settings, set the Vendor to “Null Modem” and click “OK”, then “Apply”. If you see more than one Keystone network device make this change for all of them. You can now exit preferences.
Lastly, verify that the OS has actual serial devices by running the Terminal program and performing an “ls /dev/*erial*” command. You should see pairs of “KeySerial” device files, one called “cu” and another called “tty”.
Note that the Network Preferences “Connect” button will never produce a successful test, but it will make the LED on the adapter flash while it’s being attempted.
- CONNECT THE PRONTO TO THE ADAPTER
Plus the Pronto cable into the Adapter. You DO NOT NEED A NULL MODEM adapter, just plug them together. Then plug the Pronto cable into the Pronto.
- INSTALL TONTO
Download the Tonto application on this site and unzip it. This is an older app version than the jnlp one on the Tonto Project Web Site but that one seems to have a communications library issue. Right-click on the app and perform a “Get Info”. If there is an option to “run in 32-bit mode” make sure it is checked.
Run the resulting Tonto.app. It will ask you where to save the new “Tonto.app” file, select a destination where you always want this app to reside. You may also get an error that no Pronto was located; just ignore that for now. Go into preferences and perform the following steps:
- On the SETUP tab select your Pronto model
- On the Debug tab set all 4 categories to “3″
- On the Comm tab, set the Port to “/dev/cu.KeySerial1″. Check all 3 boxes under it.
- Click OK at the bottom of the screen
- Exit the program by clicking “Exit” until the File menu.
- RUN TONTO
Run the Tonto app you specified as “saved” when you first ran the program. It will still ask you each time you run it where you want to “save Tonto.app”, but just cancel that. The editor screen should come up without any errors concerning missing communication libraries or that the Pronto cannot be located. You should be able to go into the Tonto File menu and select “Upload From Remote”. If this works you’ll get a copy of the configuration already loaded in the remote and be able to edit it.
If you get a message that the Pronto could not be located, it may mean one of the following:
- The Keystone driver in network preferences is not set up as a type null modem. If you have more than one showing in network preferences they should all be configured that way.
- You plugged your keystone adapter in a different USB port and the drivers being used have different names in /dev or in network preferences. The fix for this is to figure out which ones you are now using and configure network preferences and Tonto to use them.
- Your Pronto is not working right. Try re-plugging it in, going to home screen first, etc.
- Your Pronto cable is bad
After changing any of these you should be able to perform a “Locate Remote” from the Tonto remote menu and succeed.
When you run Tonto, it also brings up a console window with options to see the log files, clear caches, etc. You may want to try some of those commands and see if they influence your situation.
If you still have issues, you may have better luck with the Java Webstart “jnlp” version of the software on the project web site. I constantly got communication library failures with this version, but using Google search produces a lot of attempts by people to resolve that issue. If you do try that version instead of the one on my site, you need to make sure that:
- The jnlp file is flagged as “32-bit only” using the OSX “Get Info” option. It will not work otherwise
- You may have to run the “Java Preferences” app in the Utilities directory and check the status of the J2SE 32-bit library. Changing the order of these files and making sure it’s checked may solve your issue
- You may need to actually grab the 5.0 32-bit J2SE libraries off of a Snow Leopard disc, copy them to your system, and change the active library symlinks to use them instead of the libraries that come with Lion or Mountain Lion
How To Program a Philips Pronto Using USB on Mac OS X originally appeared on Keith Barrett Online on March 3, 2013.