Hi Michael,

2012/5/19 Michael Schmitz <[email protected]>:
> Hi David,
>> Transfer by ftp of a 230 MB file, CT060 Falcon is the server, and my
>> Ubuntu machine the client.
>> Receiving the file the speed stabilizes around 85 KB/s.
>> Transmitting the speed stabilizes around 105 KB/s
>
> That's not that great - I think I can get similar speeds with the EtherNEC.
> Do you know how to use netcat?
>

No, I've never used it, but I can learn :-)

To have something to be compared to, these are the speed values under
MiNT with the same file, MiNT as ftp server:

Transferring is around 1.1 MB/s
Receiving is around 630 KB/s

I wonder if the culprit of the low transfer values under Linux is the
driver. I mean, for me here under Linux everything seems very slow,
long booting time, install a packet with apt-get also takes very long.
Don't you think that this issue of kernel only able to be run from
ST-Ram is the culprit here? When a module is installed  where is
loaded into the ST-Ram or TT-Ram?

>
> I've never seen MiNT sources for the EtherNAT USB. Can I download that
> somewhere to check how the register access is done there?
>

http://sparemint.org/cgi-bin/cvsweb/freemint/sys/usb/src.km/ucd/ethernat/#dirlist

The good news is that the routines to access the data bus of the
ISP116x chip are almost the same in both drivers.
Take a look at the changes I did in the functions
write_ptddata_to_fifo and read_ptddata_from_fifo in the MiNT driver.
Also in functions pack_fifo and unpack_fifo there are changes
regarding swapping bytes

>> Below, you can find what I'm getting with this new kernel and module.
>> One important thing, ISP116x data bus has 16 bits, the EtherNat
>> hardware swaps both bytes before writing them to the bus or after
>> reading from it. I'm sure the driver doesn't consider this, so I think
>> this is the reason why an ivalid chip ID is gotten.
>
> The ISP1160 is a little endian device, as is the SMC91C111. For the 91C111,
> the driver swaps bytes in word or longword transfers; there's no hardware
> byte swap apparently. For the ISP116x driver, the bus is assumed to be
> little endian and the driver swaps all word transfers.
>
> I'll change that to use non-swapped accessors, let's see how that goes.
>

Consider also the function isp116x_write_addr in isp116x.h, this
function shouldn't swap the bytes to write the register addresses to
the bus because is going to be done by EtherNat hardware. I think
Linux driver is writing wrong register addresses because this.


>
> Byte swapping makes the chip ID come out as 0010. It should be something
> like 61xx. I'll send the new module anyway, maybe your result is different.
>

I get the same as you.

isp116x-hcd isp116x-hcd: ISP116x Host Controller
isp116x-hcd isp116x-hcd: new USB bus registered, assigned bus number 1
116x: Clock not ready after 15ms
116x: Please make sure that the H_WAKEUP pin is pulled low!
isp116x-hcd isp116x-hcd: irq 139, io base 0x80000012
116x: Invalid chip ID 0010
isp116x-hcd isp116x-hcd: startup error -19
isp116x-hcd isp116x-hcd: USB bus 1 deregistered
116x: init error, -19


Regards
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to