Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What about just installing a parallel port on your computer? http://www.amazon.com/StarTech-com-Express-Profile-Parallel-...


That will likely suffer from the same drawbacks as 'installing' a parallel port via USB. You still lack the timing precision required to bitbang out many of these protocols.


I think the timing problems are caused by the USB protocol. A PCI parallel port shouldn't suffer from those problems. (I think they were originally connected over the ISA bus, with the ISA controller connected to the PCI bus once that was introduced.)


Shouldn't the PCIe bus fix that problem?

I would assume the reason why usb converters do not work would be due to the fact that usb uses a host controlled polling system, resulting in discrete timing that can only be as precise as the bus speed.


USB latency is generally 0.25ms. PCI-Express latency is around 250ns. That's three orders of magnitude lower. I'm not sure how you can say that this will suffer from the same problem.


I'd wager the device hanging off the PCIe bus looks very little like a traditional parallel port to the CPU. Notice the modes supported by the device don't mention 'RAW', and a number of reviews bitch about ECP not working.

Just because it is on pcie doesn't mean it isn't just emulating the most frequently used parts of a parallel port.


I have successfully used a StarTech PCIe parallel port adapter card to interface with a stepper motor controller board, and I'm able to run CNC machining operations from LinuxCNC. It works fine in EPP mode (communicating bi-directionally).

The parallel port is actually very cool. You can take a high-end Linux machine and add the parallel port as a low latency GPIO interface with 25 pins. It can be used to control LEDs, motors, etc, and can also be used to receive sensor data, etc.

What is 'RAW' mode? I think you are referring to a legacy TCP/IP network printing protocol also known as "Port 9100." I'm not sure that's relevant to parallel ports?


By 'RAW', I mean being able to drive the port by poking at 0x378 in a highly controlled manner. (Not terribly uncommon when the hardware in the article was originally released)


This has been my experience when trying to interface with some legacy LPT stuff, much of the software of the era is basically hard coded to do that and won't play well with (or sometimes even recognise) the PCIe add on ports. YMMV, clearly.


0x378 is probably routed to the onboard LPT by the BIOS.

However, I wouldn't be surprised if those PCI cards used the same IO port protocol, only at some different address assigned in the standard way with PCI BARs.


My first PC had the parallel and serial ports connected to an isa card instead of the motherboard, I don't immediately see why a pci version would be any different.


This product may be shit, but the concept is sound. There is a direct compatibility line from pcie all the way back to isa, so it is in theory possible to build pcie peripherals that will work in dos provided your bios supports this.


For obscure things like this its cheaper to chain more common components together through an intermediate protocol. So your PCIe adapter may well be an on-board PCIe USB host -> parallel port controller, done with off the shelf ICs. This prevents the need for a custom ASIC which is unlikely to be economical here.


This is sometimes the case, but the most popular cards on the market are indeed single chip ASIC solutions.

Also, don't forget that small FPGAs like those from Lattice Semi are very cheap these days and find a lot of use specifically in obscure IO interfacing tasks.


And miss all the fun hacking a custom solution? ;-)

At least USB also works on a laptop, which is easier to put next to the console in the living room.


I swear, Startech sells just about anything ports related.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: