Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux? |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
![Reply](https://www.linuxquestions.org/questions/images/buttons/reply.gif) |
07-19-2022, 11:52 AM
|
#1
|
Member
Registered: May 2018
Posts: 69
Rep: ![Reputation: Disabled](https://www.linuxquestions.org/questions/images/reputation/reputation_off.gif)
|
need to change parport mode
Hello, I make a line of parallel-port interfaced devices that use the EPP mode of the port. I have a diagnostic program that tests functions of the device. On a particular computer (Dell 7010) the diagnostic does not work, but the user program (LinuxCNC) does work. Looking with lspci -v I FINALLY spotted the issue, the port is in ECP mode. Is there some Linux utility that will set a parport to a different mode? I have a program that usually works, it writes 0x80 to the I/O port address 0x402 above the parport data register. (This is correct for the typical on-mobo port at 0x378. You have to fudge the address to get it to hit the right register on PCI and PCIe cards, but this has always worked in the past.
I really don't know how to unset the ECP mode bit.
Thanks in advance for any ideas!
Jon
|
|
|
07-19-2022, 01:10 PM
|
#2
|
Moderator
Registered: Aug 2002
Posts: 26,465
|
As far as I can remember for onboard devices there should be a BIOS setting you can change modes from ECP to EPP or SPP and its port address. Have you checked the BIOS configuration?
|
|
|
07-19-2022, 08:00 PM
|
#3
|
Member
Registered: May 2018
Posts: 69
Original Poster
Rep: ![Reputation: Disabled](https://www.linuxquestions.org/questions/images/reputation/reputation_off.gif)
|
Quote:
Originally Posted by michaelk
As far as I can remember for onboard devices there should be a BIOS setting you can change modes from ECP to EPP or SPP and its port address. Have you checked the BIOS configuration?
|
Yes, but this is a PCIe plug-in card. The BIOS only makes setings for on-motherboard peripherals.
Jon
|
|
|
07-19-2022, 08:14 PM
|
#4
|
Moderator
Registered: Aug 2002
Posts: 26,465
|
I was not sure which you were referring to. I don't know, it depends on the particular card. Some you can and some not.
|
|
|
07-20-2022, 11:45 AM
|
#5
|
Member
Registered: Jun 2020
Posts: 609
Rep: ![Reputation: Disabled](https://www.linuxquestions.org/questions/images/reputation/reputation_off.gif)
|
So I'm curious based on your initial question's wording: is this issue specific to this card, or the combination of this card only in this specific Dell motherboard? As in, does the card work properly (or respond to your program) in another motherboard? Or do other cards work (or not work) in this Dell? Just trying to think through narrowing done where the 'brokenness' is - that doesn't solve your secondary question, but I'm not sure what else to suggest there either (and assume you have some other working system).
|
|
|
07-20-2022, 02:02 PM
|
#6
|
Member
Registered: May 2018
Posts: 69
Original Poster
Rep: ![Reputation: Disabled](https://www.linuxquestions.org/questions/images/reputation/reputation_off.gif)
|
Well, I don't know for sure. I think it may be a bunch of issues all combining. I have used both Siig and Syba cards in PCIe slots before and found them to work properly. But, I have two Dell Optiplex 7010 machines, one small form factor and one standard "mini-tower" box. It seems on both of them, I cannot get the Syba card with MCS9900 chips to work at all. Using the Siig card with the Oxford chip I can get the LinuxCNC driver for my boards to work, but my bare bones diagnostic doesn't work. The difference is that the LinuxCNC driver asks the OS to release the parport from whatever driver is using it (lp? parport_pc?) while my diagnostic just accesses the I/O ports directly with inb and outb commands from c.
I'd like to be able to do exactly what the LinuxCNC driver does to release the port from the Linux driver and then be able to use my diagnostic.
This may also have something to do with 64-bit kernels, as all this stuff used to just work on 32-bit kernels in the past.
I usually have to force the parport into EPP mode by writing 0x80 into the ECR (Extended Control Register) of the card.
To restate what I THINK I do know, both Siig and Syba PCIe cards do seem to work with both LinuxCNC and my diagnostic with older 32-bit OS'es.
I will have to retest, to be certain.
A complication is I have very few machines here with PCIe to test these issues with.
Thanks for the reply.
Jon
Last edited by jon Elson; 07-20-2022 at 02:05 PM.
|
|
|
07-21-2022, 05:07 PM
|
#7
|
Member
Registered: May 2018
Posts: 69
Original Poster
Rep: ![Reputation: Disabled](https://www.linuxquestions.org/questions/images/reputation/reputation_off.gif)
|
Arrgh! I have one PCIe parport card that works with the LinuxCNC driver, which somehow sets the port to the right mode. This card has the Oxford Semi OXPCIe952-FBAG chip. Even this one will not work with my diagnostic, but I think that is just that I don't know how to put it in EPP mode.
I just bought 2 more siig cards but they have the NETMOS MCS9900 chip, and these don't work with either software. I also have an Iocrest card with the WCH CH382L chip that I can't make work. I am really puzzled why I am having all these issues making this work. I have somd a bunch of Syba cards with the MCX9900 or MCX9901 chips, and customers have not reported trouble with them. I guess I will have to get another system with PCIe slots and see if that works. I'm still stumped!
Jon
|
|
|
All times are GMT -5. The time now is 12:15 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|