johnnynine
Active Member
Thanks for the quick update, I can't wait to try it out.
bpwwer said:Acutally, there was a typo in the new version's file name. I've fixed it. There is a new version of the code that merges all the command line code and gui code into one package. You can now build either version from the same source.
bpwwer said:After you untar my program, go into the iplc subdirectory and type 'make' That should build the driver. Then, as root, type 'make node' to create the device node needed. Then follow the steps above.
bpwwer said:1. plug the PLC into a usb port.
2. run detach to detach it from the HID driver (must be root)
3. insmod the iplc usb driver to install it (must be root)
4. run my program
bpwwer said:4. run my program
johnnynine said:Can I boot with the PLC already plugged in or must I plug it in after logged in?
It's in the tarfile as detach.c, you'll have to build it with 'make detach' It's a real simple program that uses libusb to detach the PLC from the HID driver.johnnynine said:Where do I get the "detatch" program? I don't have any files named "detatch".
USB human interface devices, such as the keyboard and mouse, are not handled though the virtual machine's USB controller. Instead, they appear in the virtual machine as a standard PS/2 keyboard and mouse, even though they are plugged into USB ports on the host.
Does /dev/usb/iplc0 exist? If not you'll need to create it first. The Makefile in the iplc directory can do this if you run 'make node'johnnynine said:Ok, the VMWare usb.generic.allowHID = "TRUE" did the trick.
detach worked
I was able to successfully call "detach". When I couldn't get VMWare to acknowledge the PLC I would get an "Unable to locate 0x10bf:0x0004". When I got VMWare working, executing "detach" resulted in no console output.
insmod failed
[root@localhost ilink]# insmod /dev/usb iplc0
insmod: can't read '/dev/usb/iplc0': No such device
Is there something I can do to see what is going on?
Johnny
I didn't look close enough at what you typed. Are your typeng 'insmod /dev/usb iplc0' ? The insmod command takes the driver file name as the first argument You need to run:johnnynine said:Yes it exists, when I run insmod /dev/usb iplc0 without a file, it says it can not find the file, which is a different error.
insmod ./iplc.ko
Great news! It's also very good to to know that it works with VMWARE. I think I'm going to set up one or two of those to get rid of a machine.johnnynine said:Holy mamamia, I think that's it!!!
So I believe I have it up and working. Now I just need to figure out how to use it.
Is there any way to auto-discover devices?
Thanks,
John
Not yet. The command line version does have a working ping so it just needs to be hooked up in the GUI.johnnynine said:Does the "Ping Device" menu do anything?
Yes, it will only look for scenes on devices that you have entered. It takes a while to discover scenes and while it is doing that, the GUI will "lock up". It should list each device in the command window as it starts to seach that device.johnnynine said:What is the order of thing I should do?
Add all my devices, then discover existing scenes?
It will flicker when it detects commands, noise or when it is communicating with the PC. If it starts flickinger at once per second very consistantly, it might need to have the coreapp re-loaded.johnnynine said:Is the PLC LED supposed to flicker all the time (like many times per second)?
It will only search the devices you enter. It will find all the links on those devices, hmm, now that I think about it, I'm not sure what will happen if it finds a device link for a device it doesn't know about. It might crash.johnnynine said:Will "Discover Existing Scenes" only list the devices I have entered, even if there are really more devices in the scene?
True, not yet.johnnynine said:It doesn't default to save as the filename that was loaded.
Can you elaborate?johnnynine said:I've experienced problems with deleting devices.
Yes, it would I've started adding code to keep track of when something has changaed so that it can do that.johnnynine said:It would be nice to have it ask you to save when you quit.
"responder" is a term SmartHome uses to designate a device that is responding to commands from another device. The controlling device is called "controller". So for a scene you have only one controller but can have many responders.johnnynine said:What is the responder?
Yes. For ControlLinc's it can be 1 to 5, for KeypadLinc's it can be 1 to 8. For SwitchLinc's it has to be 1. This should probably be limited based on the type of device listed as the controller.johnnynine said:Is the "scene group #" the button # on the a control linc for instance?
The 'Button Group' is really only used for KeypadLincs, and I believe it has to be the same value as the scene group. I haven't experimented with setting it differently to see what happens. For other devices, that field is suppose to be ignored.johnnynine said:What is the difference between "Button Group" and "Scene Group #"?