Moschip 9901, tests good to BoB but will not talk to Mesa 7i90, is there a way?

More
14 Feb 2023 19:25 - 14 Feb 2023 20:00 #264520 by DrKnow65
I have attached what I think is the pertinent data collected from informational requests I could find in the forum here. 
lspci, dmesg, port test, etc. Edited down to be more friendly.

The PC is a Dell 790sff, the card is the SD-PEX50030 pcie 1x parallel port card with 2x RS232. 
I can operate the pins via 2portin.hal test, but nothing works with mesaflash.
Attachment shows 2 parports, one is not populated on the motherboard (available on the mid tower but not the sff).

Is there a way forward? 

 

File Attachment:

File Name: parport.txt
File Size:9 KB


p.s. wish I could preview these posts before I submit them...
Attachments:
Last edit: 14 Feb 2023 20:00 by DrKnow65. Reason: poorly worded

Please Log in or Create an account to join the conversation.

More
14 Feb 2023 20:11 #264521 by PCW
I know the older PCI 9800 series MOSChip ports could not do EPP correctly
but I thought the 99XX series could...

What mesflash command did you use and what was the error?

Please Log in or Create an account to join the conversation.

More
14 Feb 2023 20:48 #264522 by DrKnow65
mesaflash --device 7I90HD --epp --addr 0x3010 --readhmid
(and all the various sets of --addr "0", "1", --addr x --addr_hi x, etc)
all return 7I90HD not found.

The parallel port is parport1, io address is 0x3010:0x3000. Works with the test programs, via a BoB showing a looped back 2->10 input/output.

I also tried it with 7i90, 7i90hd, AUTO also. Some configurations of commands return a timeout for the epp data etc.

I am parallel testing and flashing on my Dell T7500 workstation that still has a native parallel port so I am able to verify the 7i90 boards and the cables.
Card shows that it is EPP compatible too.

Please Log in or Create an account to join the conversation.

More
14 Feb 2023 23:10 #264531 by PCW
Does LinuxCNC recognize the card?

It may be that enabling EPP mode requires some thing non-standard
The following user(s) said Thank You: DrKnow65

Please Log in or Create an account to join the conversation.

More
14 Feb 2023 23:34 - 14 Feb 2023 23:38 #264532 by DrKnow65
LinuxCNC will recognize the 7i90 on the workstation, build a config successfully that then opens LinuxCNC without error.

On the 790sff I have been unsuccessful in every attempt to get the 7i90 acknowledged in any capacity, beyond while having the parport open under port testing, where I can then see some of the inputs change status as the 7i90 has its power cycled.

If I build the default 7i90_epp_svst1_4_2x7i74s.bit config for the 7i90 on the 790sff in PNCconf with the address set to 0x3010 and attempt to open LicuxCNC it faults to invalid cookie, FPGA failed to initialize etc.

hm2_7i90.0: board at (ioaddr=0x3010, ioaddr_hi=0x3000, epp_wide OFF) not found!
Edit to add that I did attempt with the epp-wide=1 in testing with as poor results.
Last edit: 14 Feb 2023 23:38 by DrKnow65. Reason: Clarity

Please Log in or Create an account to join the conversation.

More
15 Feb 2023 00:02 #264534 by DrKnow65
I should mention that the 790sff does run a 7i98 and 7i92t on the ethernet port properly.

Could the IRQ interrupt "lp1: using parport1 (interrupt-driven)." be keeping the parport from being put in EPP mode? because of permissions? or the port being occupied by another process?

Is there a way to view the parport driver activity when LinuxCNC requests control?

Please Log in or Create an account to join the conversation.

More
15 Feb 2023 00:37 #264540 by tommylight

hm2_7i90.0: board at (ioaddr=0x3010, ioaddr_hi=0x3000, epp_wide OFF) not found!

Try changing places for the addresses.
The following user(s) said Thank You: DrKnow65

Please Log in or Create an account to join the conversation.

More
15 Feb 2023 03:03 #264548 by DrKnow65
Double verified that I had tried that again just now, returns No 7I90HD board found.

I did try --addr=0x3010, ioaddr_hi=ox31A0 to see if the traditional 400 offset worked, no joy. I also tried addr=0x3000 ioaddr_hi=0x3190 on a whim to no avail as well.

After the address changes I verified again that 2portin test still shows active inputs on 0x3010.

Can the driver be killed and restarted at the LinuxCNC hal_parport request?

Please Log in or Create an account to join the conversation.

More
15 Feb 2023 12:31 #264556 by DrKnow65
While it is my hope to find the error and correct it, I am not a Linux/LinuxCNC engineer, though I am learning my way around it in a far deeper sense with my deep dive into troubleshooting issues with the various aspects of loading operating systems, RT kernels, whole images, and building LinuxCNC from dependencies.

That being said, I have to ask the question of "known good" hardware?

I see that my T7500 can handle EPP without fault, and I presume that the only *_solid_* method for the EPP protocol
is a motherboard based parallel port.However, using my server based CAD drafting workstation with dual-quad 3.6ghz cores, 64Gbs ram, and $1k Quadro video cards to spin up a cheap green mill that raspberry pi could handle over ethernet is a bit much...

Is there a "known good" PCIe based parallel port card that will reliably interface with the 7i90hd with a small form factor PC?
(of which I have 3x 7i90hd's, a 7040sff, a 7010sff and a 790sff)

If not a PCIe parallel port card, is there a "known good" half-height RS422 two-port PCIe card that would work in its place?

This morning I am going to educate as best as I can about the Linux kernel, parport driver, ModProbe, and the LILO command line.
If I can find a "non-standard" way to activate EPP, I am hopeful that I can make use of the 7i90's and PCIe cards I have on hand,
and proclaim a victory over Windows and its grip on my day to day.

Surely there must be a PCIe based parallel card the community *_knows_* will operate in EPP mode?
Surely there is an RS422 card that is *_known_* to work with Debian stable?
Surely there is a way to *_force_* an EPP capable card into EPP mode with Linux?

I need a repeatable, reliable, available solution. And it wouldn't hurt if it used the hardware I have already invested in.
Tossing three 7i90's in the bin to buy up more (now available) 7i92t's seems like a wasteful (but available) solution.

Sorry if I seem fatigued or disgruntled, I just didn't set out to be a programmer, I came here to convert manual machines to CNC.
I am off to learn low level Linux, I will be happy to do any testing or gather any information you may think of in the meantime as well.

I cherish your help, and I am truly grateful for the work you put into this community.

Please Log in or Create an account to join the conversation.

More
15 Feb 2023 17:40 #264567 by DrKnow65
A little more information that may be relivent.

I have been trying various parameters in halrun and the .hal file for LinuxCNC and I am finding consistently that the "ioaddr_hi=" in the error statement shows 0x3000 even though I set it to 0x3410, or 0,1,0x999 ect...

The lspci does show the 0x3000 as Region 1: I/O portsI/O ports.

Where is this value stored that LinuxCNC is calling it over what is in the .hal file?

Please Log in or Create an account to join the conversation.

Time to create page: 0.080 seconds
Powered by Kunena Forum