JP1 Remotes Forum Index JP1 Remotes


FAQFAQ SearchSearch 7 days of topics7 Days MemberlistMemberlist UsergroupsUsergroups RegisterRegister
ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in

Porting RM libraries to Mac OS X
Goto page Previous  1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Software
View previous topic :: View next topic  
Author Message
RamBuck



Joined: 13 Oct 2010
Posts: 6

                    
PostPosted: Wed Oct 13, 2010 1:34 am    Post subject: Re: OS X support Reply with quote

It's been many years since this post, which suggested a solution... However, I'm trying to use RMIR (2.00 preview 7) with Tommy's USB Flash JP1.2/3 on OSX 10.5.8. So far, no signs of life from the USB device except when I plug it in. I've installed the latest driver, and the device shows up in my USB device list.

I tried using on Parallels Desktop, running Windows XP. At least I can download the raw data. So I believe the device is functional.

Someone suggested a USB selction in the "Interface" Menu... I see no such menu. Are there port settings available in RMIR? What other properties can be defined in remotemaster.properties file?

-RB

alex750 wrote:
Quote:
You say RMIR runs fine on OS X, but does that include up/downloading? Have you installed the FTDI driver for OS X?


"Runs fine in OS X" means that RMIR will load, edit and save IR files, and of course also load, edit and save RM/KM upgrades and add them to (or remove them from) RMIR. Also, the edited IR files can then be moved back into my Windows VM (or a real Windows PC), opened in RMIR (or IR), and uploaded into a remote. I haven't installed the FTDI driver, since I don't have Tommy's cable and adapter (both my remotes, a URC-6800 and URC-8910, are EEPROM-based, so I would need both). I'm using the Delcom cable.

From what I've seen, Tommy's stuff is slick, and a single solution for JP1 and JP1.x would be nice, but $50 is a little beyond my means at the moment. Sad

Quote:
I've read that there's a chance the Linux builds of DecodeIR and possibly even the JP1.X interface code will work on OS X.


In that case, all we need is someone with an Intel Mac and the cable for testing. (Ideally, this person would also have Windows or Linux, in case his/her remote's contents got mangled and needed a restore.)

Porting to the Mac is complicated by the fact of two--no, three architectures: PowerPC (the old G3/G4/G5 boxes; these run earlier versions of OS X, from 10.2.8 "Jaguar" to 10.5.8 "Leopard"), 32-bit x86 (the very first Intel Macs, using Core Solo/Duo; these can run the current "Snow Leopard," albeit in 32-bit mode), and 64-bit x86 (aka amd64; all current Macs, starting with the Core2 Duo-based machines). The 64-bit machines can use 32-bit drivers and libraries, but must be booted in 32-bit mode to do so.

The good news is, since the Linux libraries are already available in both 32- and 64-bit flavors, that part is done...assuming they will work at all. (PPC Macs would be SOL here.) I don't know if the FTDI driver is "universal" or not; if so (or if separate 32- and 64- bit versions are included), then that hurdle is cleared as well.
Back to top
View user's profile Send private message
mathdon
Expert


Joined: 22 Jul 2008
Posts: 4523
Location: Cambridge, UK

                    
PostPosted: Wed Oct 13, 2010 10:36 am    Post subject: Reply with quote

RamBuck wrote:
Someone suggested a USB selction in the "Interface" Menu... I see no such menu. Are there port settings available in RMIR?

It would be really nice to have a proper test of RMIR under Mac OSX after Alex's efforts in getting versions of the DLLs ported to that system, so do please persist. The experts here will help you as much as they can. I hope the answer to your question about the Interface menu is a simple one. It is under the Remote menu, so you follow Remote -> Interface -> JP1.X Serial. That should open a port selection window.

If that menu isn't there or the port selection window doesn't open, then you have hit your next snag! Please keep us informed and don't be afraid to ask. BTW I don't know why you think "It's been many years since this post", as this thread was started in August this year and is still very much open.
_________________
Graham
Back to top
View user's profile Send private message
gfb107
Expert


Joined: 03 Aug 2003
Posts: 3411
Location: Cary, NC

                    
PostPosted: Wed Oct 13, 2010 12:54 pm    Post subject: Reply with quote

When you say you installed the latest driver, what does that mean?

My guess is you installed FTDI device driver, but not the OS/X JP1 libraries. You can get those here. They aren't included with RMIR yet.
_________________
-- Greg
Original RemoteMaster developer
JP1 How-To's and Software Tools
The #1 Code Search FAQ and it's answer (PLEASE READ FIRST)
Back to top
View user's profile Send private message Visit poster's website
RamBuck



Joined: 13 Oct 2010
Posts: 6

                    
PostPosted: Thu Oct 14, 2010 11:13 pm    Post subject: Remote interface Reply with quote

I'm willing to be your guinea pig. But I'm new to this forum. Been reading it for a while and finally took the plunge (after comcast dropped support for my home theater... and the kids smashed the remote... and then smashed my Harmony Mad). The driver I've installed is indeed the FTDI driver for OSX. Are the libraries necessary? It's my understanding these would be for compiling source code...

As for my problems with using RMIR... I quoted the message from 2003, which said something like RMIR worked like a charm. It's taken me about a week of reading to come to the realization that RM, IR, and RMIR are sometimes mistakenly referred to the same thing "Remote Master". The html help file in particular.

Thanks for the help. I will try it out and let you know. It's my understanding that the comcast remote(s) have their own confusing set of problems. Confused)

mathdon wrote:
RamBuck wrote:
Someone suggested a USB selction in the "Interface" Menu... I see no such menu. Are there port settings available in RMIR?

It would be really nice to have a proper test of RMIR under Mac OSX after Alex's efforts in getting versions of the DLLs ported to that system, so do please persist. The experts here will help you as much as they can. I hope the answer to your question about the Interface menu is a simple one. It is under the Remote menu, so you follow Remote -> Interface -> JP1.X Serial. That should open a port selection window.

If that menu isn't there or the port selection window doesn't open, then you have hit your next snag! Please keep us informed and don't be afraid to ask. BTW I don't know why you think "It's been many years since this post", as this thread was started in August this year and is still very much open.
Sad
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21237
Location: Chicago, IL

                    
PostPosted: Fri Oct 15, 2010 12:25 am    Post subject: Re: Remote interface Reply with quote

RamBuck wrote:
It's taken me about a week of reading to come to the realization that RM, IR, and RMIR are sometimes mistakenly referred to the same thing "Remote Master".

Close, but not exactly. IR is a separate program, it's the original Windows based program that we've used for many years to communicate with the remotes.

RM is short for Remote Master, and it is the Java program that we use to create upgrades. RMIR is a program within RM that is designed to replace IR. RMIR is a much younger program that is still being worked on as we speak.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
RamBuck



Joined: 13 Oct 2010
Posts: 6

                    
PostPosted: Fri Oct 15, 2010 12:27 am    Post subject: OS/X JP1 Libraries Reply with quote

Ok, I followed the instructions in the readme, but still have some problems.

1) don't forget the .jar extension when invoking remotemaster.jar
2) Did you assume you're running as root? I had to use sudo...
3) I have a class conflict. I'm running on Core 2 duo, and have the x86_64 libraries. So, am I running the wrong java version? Here's the error:


Boson:remotemaster administrator$ sudo java -jar ./RemoteMaster.jar -ir
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)
Boson:remotemaster administrator$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02-279-9M3165)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01-279, mixed mode)
Boson:remotemaster administrator$
Back to top
View user's profile Send private message
RamBuck



Joined: 13 Oct 2010
Posts: 6

                    
PostPosted: Fri Oct 15, 2010 12:57 am    Post subject: Re: OS/X JP1 Libraries Reply with quote

Ok. No problem with versions. I cranked permissions, sudo chmod 775 * in the remotemaster directory and then it was able to run without errors.

I still don't see an interface selection in the remote menu. Confused

RamBuck wrote:
Ok, I followed the instructions in the readme, but still have some problems.

1) don't forget the .jar extension when invoking remotemaster.jar
2) Did you assume you're running as root? I had to use sudo...
3) I have a class conflict. I'm running on Core 2 duo, and have the x86_64 libraries. So, am I running the wrong java version? Here's the error:

Back to top
View user's profile Send private message
RamBuck



Joined: 13 Oct 2010
Posts: 6

                    
PostPosted: Fri Oct 15, 2010 1:29 am    Post subject: Re: OS/X JP1 Libraries Reply with quote

Back to sleuthing...

RamBuck wrote:
Ok. No problem with versions. I cranked permissions, sudo chmod 775 * in the remotemaster directory and then it was able to run without errors.

I still don't see an interface selection in the remote menu. Confused


No errors were reported on the command line since it the permissions for rmaster.err were allowed. There's plenty , with the main result that it could not create a port. Note the "no suitable image found" and "unknown required load command"... I'm out of ideas for now.

[devices deleted]
Generating deviceImporter for protocol null
libraryFolder=/Applications/RemoteMaster/Mac OS X-x86_64
Loading /Applications/RemoteMaster/Mac OS X-x86_64/libjp1parallel.jnilib
Unable to create JP1Parallel object: Can't load library: /Applications/RemoteMaster/Mac OS X-x86_64/libjp1parallel.jnilib
Loading /Applications/RemoteMaster/Mac OS X-x86_64/libjp12serial.jnilib
Unable to create JP12Serial object: /Applications/RemoteMaster/Mac OS X-x86_64/libjp12serial.jnilib: no suitable image found. Did find: /Applications/RemoteMaster/Mac OS X-x86_64/libjp12serial.jnilib: unknown required load command 0x80000022
Loading /Applications/RemoteMaster/Mac OS X-x86_64/libjp1usb.jnilib
Unable to create JP1USB object: Can't load library: /Applications/RemoteMaster/Mac OS X-x86_64/libjp1usb.jnilib
Loading /Applications/RemoteMaster/Mac OS X-x86_64/libDecodeIR.jnilib
DecodeIR JNI interface not found!
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.hifiremote.jp1.RawDataDialog.actionPerformed(RawDataDialog.java:108)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6348)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)

[and about 100 more...]
Back to top
View user's profile Send private message
gfb107
Expert


Joined: 03 Aug 2003
Posts: 3411
Location: Cary, NC

                    
PostPosted: Fri Oct 15, 2010 6:07 am    Post subject: Reply with quote

The only thing I can think of is to chmod 755 the library files too.

As far as we know, you are only the second person to try this. alex750 was the other, and he is the one who compiled the source for OS/X, wrote the instructions, and posted the zip file with the binaries.

We know that he had more success than you are having, because he was able to load the libraries, and DecodeIR produced at least some correct results. We do not know if he was able to successfully up/download from a JP1.2/3 remote, because the last we heard he didn't have a cable.
_________________
-- Greg
Original RemoteMaster developer
JP1 How-To's and Software Tools
The #1 Code Search FAQ and it's answer (PLEASE READ FIRST)
Back to top
View user's profile Send private message Visit poster's website
gfb107
Expert


Joined: 03 Aug 2003
Posts: 3411
Location: Cary, NC

                    
PostPosted: Fri Oct 15, 2010 6:35 am    Post subject: Reply with quote

I did a little googling, and it looks like your problem may be that you are running code built on OS/X 10.6 on OS/X 10.5.8

See http://stackoverflow.com/questions/1440456/static-libraries-in-version-cross-compiled-program

You may have to rebuild the binaries yourself, or maybe we can get alex750 to rebuild them in a way that is compatible with 10.5.8 (if that is even possible).
_________________
-- Greg
Original RemoteMaster developer
JP1 How-To's and Software Tools
The #1 Code Search FAQ and it's answer (PLEASE READ FIRST)
Back to top
View user's profile Send private message Visit poster's website
RamBuck



Joined: 13 Oct 2010
Posts: 6

                    
PostPosted: Fri Oct 15, 2010 1:41 pm    Post subject: Reply with quote

Thanks.

I've done similar sleuthing in porting other unices usually the main difficulty is figuring out where OSX stores the frameworks. Hopefully none of the dependencies rely on having 10.6, or I could spend a lot time recompiling, or I could just upgrade... But shouldn't have to. Xcode should be able to compile universal binaries, but sometimes they make huge changes between updates. The major change with 10.6 was to drop all vestiges of PPC support. 10.6 only works on intel processors. The fact that Alex compiled for PPC suggests 10.5 at least. If I can start with his source code, I can probably just recompile without any problems. I will try a bit tonight.

Am I really the first to try using the USB flash JP1.2/3 cable in OSX?


gfb107 wrote:
I did a little googling, and it looks like your problem may be that you are running code built on OS/X 10.6 on OS/X 10.5.8

See http://stackoverflow.com/questions/1440456/static-libraries-in-version-cross-compiled-program

You may have to rebuild the binaries yourself, or maybe we can get alex750 to rebuild them in a way that is compatible with 10.5.8 (if that is even possible).
Back to top
View user's profile Send private message
MikeT



Joined: 28 Oct 2010
Posts: 115

                    
PostPosted: Thu Oct 28, 2010 6:12 pm    Post subject: Reply with quote

Hi RamBuck,

RamBuck wrote:

Am I really the first to try using the USB flash JP1.2/3 cable in OSX?


I try the same, but I want to use a homemade FTDI chip based cable and I always thought the original USB flash cables uses a Delcom chip.

What devices do you get, when you plug your cable to your Mac? Can you do the following:
1. unplug your cable from your Mac
2. execute "ls -l /dev >d1"
3. plug your cable in your Mac
4. execute "ls -l /dev >d2"
5. execute "diff d1 d2"
6. execute "rm d1 d2"

Can you post the result of the diff?

MikeT
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21237
Location: Chicago, IL

                    
PostPosted: Thu Oct 28, 2010 6:43 pm    Post subject: Reply with quote

MikeT wrote:
I try the same, but I want to use a homemade FTDI chip based cable and I always thought the original USB flash cables uses a Delcom chip.

The JP1 (EEPROM) USB cables use a Delcom chip.
The JP1.x (Flash) USB cables use an FTDI chip.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
MikeT



Joined: 28 Oct 2010
Posts: 115

                    
PostPosted: Fri Oct 29, 2010 11:45 am    Post subject: Reply with quote

Hi Robman,

The Robman wrote:

The JP1.x (Flash) USB cables use an FTDI chip.


This makes it much easier for me Smile

When I plug in the USB cable, the following new devices appear on my iMac:
/dev/cu.usbserial-A6008i8L
/dev/tty.usbserial-A6008i8L

The device names in the patched jp12serial library (ttyp0 to ttywf) will therefore not work.

I can enter these device names in the RemoteMaster dialog "Remote/Interface/JP1.X Serial..." and see the send/receive LEDs of my Arduino board flicker when I press the "Download from remote" button.

Now I just miss the cable between the remote and the FTDI chip.

MikeT
Back to top
View user's profile Send private message
MikeT



Joined: 28 Oct 2010
Posts: 115

                    
PostPosted: Fri Oct 29, 2010 7:21 pm    Post subject: Reply with quote

In the meanwhile I built my cable but it only works partly. First, RM was always crashing. After some debugging, I noticed that the buffer for the port name in jp12serial.cpp/openPort() was too short, so I changed it:

Code:

bool openPort( const char *portName)
{
   ...
   char new_portName[128] = ""; // was 20 which is too short on Mac


Now RM detects the type of the remote, but I don't get any further data.

MikeT
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - Software All times are GMT - 5 Hours
Goto page Previous  1, 2, 3, 4, 5  Next
Page 3 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


 

Powered by phpBB © 2001, 2005 phpBB Group
Top 7 Advantages of Playing Online Slots The Evolution of Remote Control