#69479 - 20/06/2002 19:08
Re: Empeg USB-Ethernet Emulation Project
[Re: mlord]
|
new poster
Registered: 15/03/2002
Posts: 13
|
Is anything happening with this? I've been doing some hunting around and there are some handheld linux based devices that use a usb-eth driver that does tcp over usb...
http://www.linuxdevices.com/articles/AT5124708001.html
and http://dredd.crimea.edu/ipaq/ipaq-usb-howto-new.html
I'd *love* this at work - my computer is plugged into the network, but I can't plug my empeg into the corporate network. If I could plug it into USB as I currently do *and* have access to http, ftp etc it would be fantastic!
Edited by cmcdonald (20/06/2002 22:20)
|
Top
|
|
|
|
#69480 - 21/06/2002 02:50
Re: Empeg USB-Ethernet Emulation Project
[Re: cmcdonald]
|
pooh-bah
Registered: 12/02/2002
Posts: 2298
Loc: Berkeley, California
|
Well, you could accomplish that today by buying a USB ethernet card and hooking that up. Someone posted one that was for sale for $5 from tigerdirect if I recall. USB sucks compared to a real NIC, but it's better than nothing...
Matthew
|
Top
|
|
|
|
#69481 - 21/06/2002 02:52
Re: Empeg USB-Ethernet Emulation Project
[Re: matthew_k]
|
enthusiast
Registered: 07/01/2002
Posts: 339
Loc: Squamish, BC
|
That's already been discussed in this very thread. It defeats part of the object of this, which is to get TCP/IP applications usable on the Mark 1 player.
Cheers,
A.
|
Top
|
|
|
|
#69482 - 02/01/2003 11:30
Re: Empeg USB-Ethernet Emulation Project
[Re: mlord]
|
enthusiast
Registered: 10/09/2002
Posts: 285
Loc: DFW Area, Texas, US
|
OK, so I mentioned some USB stuff in another thread, and Drakino pointed me here, and since I didn't have my soldering iron with me over Christmas I have been working on this.
Currently when I plug in my Empeg to my Win2K machine it finds a NETGEAR FA101 USB Fast Ethernet Adapter. I chose that adapter as it was available in CompUSA while I was there (so I have the real HW to see what that does), it uses the PegasusII chipset which is supported by Linux, and it is made by Netgear, so the drivers are available and it is supported.
The attachment shows the properties window, check the location field to see that it is actually the Empeg connected. At the moment it doesn't think the network cable is connected, so doesn't send any data, but I am working on that at the moment.
NOTE: This is using my MKII, I haven't tried the MK1 yet as the Mrs has it in her car at the moment.
Attachments
131677-RioEther.jpg (806 downloads)
_________________________
Mark.
[blue]MKI, MKII & MKIIa, all Blue, and all Mine![/blue]
|
Top
|
|
|
|
#69483 - 02/01/2003 14:06
Re: Empeg USB-Ethernet Emulation Project
[Re: Chimaera]
|
carpal tunnel
Registered: 24/12/2001
Posts: 5528
|
Cool. You've made more progress than I have
I did start work on an equivalent driver but with a RTL-8150 chipset instead. It's used in the Linksys USB adapter I've got and the driver looked the simplest out of the ones available.
I never got around to finishing it however and device detection wasn't very reliable.
- Trevor
|
Top
|
|
|
|
#69484 - 03/01/2003 08:46
Re: Empeg USB-Ethernet Emulation Project
[Re: Chimaera]
|
carpal tunnel
Registered: 19/01/2002
Posts: 3584
Loc: Columbus, OH
|
Sweet, I have that same adapter
_________________________
~ John
|
Top
|
|
|
|
#69485 - 07/01/2003 12:38
Re: Empeg USB-Ethernet Emulation Project
[Re: tman]
|
enthusiast
Registered: 10/09/2002
Posts: 285
Loc: DFW Area, Texas, US
|
OK, I now have the link status stuff working, and it thinks there is a connection, so can anyone tell me if this looks like an ethernet packet?
0x2a,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
0x00,0x00,0x08,0x06,0x00,0x01,0x08,0x00,0x06,0x04,0x00,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xa8,0xf0,0x64,
0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xa8,0xf0,0x69,0x80,
0x64,0x01,0x10,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
0x20,0x45,0x45,0x45,
or do I need to do some more manipulation?
_________________________
Mark.
[blue]MKI, MKII & MKIIa, all Blue, and all Mine![/blue]
|
Top
|
|
|
|
#69486 - 07/01/2003 13:06
Re: Empeg USB-Ethernet Emulation Project
[Re: Chimaera]
|
carpal tunnel
Registered: 27/06/1999
Posts: 7058
Loc: Pittsburgh, PA
|
Looks like an Ethernet Version II MAC frame to me. Giveaways are the 0x08 0x06 in approximately the right spot where the type field would be, and the 4-byte Frame Check Sequence at the end.
|
Top
|
|
|
|
#69487 - 07/01/2003 13:14
Re: Empeg USB-Ethernet Emulation Project
[Re: tonyc]
|
enthusiast
Registered: 10/09/2002
Posts: 285
Loc: DFW Area, Texas, US
|
Cool, as that is what the Empeg is receiving over its USB cable
Now all I need to do is work out how to patch it in so it thinks it was received over Ethernet.
Thanks.
_________________________
Mark.
[blue]MKI, MKII & MKIIa, all Blue, and all Mine![/blue]
|
Top
|
|
|
|
#69488 - 07/01/2003 13:17
Re: Empeg USB-Ethernet Emulation Project
[Re: Chimaera]
|
carpal tunnel
Registered: 27/06/1999
Posts: 7058
Loc: Pittsburgh, PA
|
Nice. The only caveat I'll add is that it looks like some of the preamble is missing from the beginning of it.. Starting with 2A is okay, except that's only the last six bits of the preamble (101010.) From what I remember, the premable is supposed to be 8 bytes of solid alternating ones and zeroes.
|
Top
|
|
|
|
#69489 - 07/01/2003 13:26
Re: Empeg USB-Ethernet Emulation Project
[Re: tonyc]
|
enthusiast
Registered: 10/09/2002
Posts: 285
Loc: DFW Area, Texas, US
|
All the frames I have captured so far start 2a then go on to something else, I am taking out a lot of my debug right now so that I can work on the next bit without pages of working stuff flying past.
Thanks for the help.
_________________________
Mark.
[blue]MKI, MKII & MKIIa, all Blue, and all Mine![/blue]
|
Top
|
|
|
|
#69490 - 11/01/2003 17:01
Re: Empeg USB-Ethernet Emulation Project
[Re: Chimaera]
|
old hand
Registered: 12/08/2000
Posts: 702
Loc: Netherlands
|
If all preambles are the same size ( 2 bytes ) and always start wit 0x2a, you shouldn't have a problem. I've ran the packet through ethereal and here's the packetdump :
Frame 1 (57 on wire, 57 captured)
Arrival Time: Jan 12, 2003 00:41:23.8484
Time delta from previous packet: 0.000000 seconds
Frame Number: 1
Packet Length: 57 bytes
Capture Length: 57 bytes
Ethernet II
Destination: ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff)
Source: 00:00:00:00:00:00 (00:00:00:00:00:00)
Type: ARP (0x0806)
Trailer: 806401100001000000000000204545
Address Resolution Protocol (request)
Hardware type: Ethernet (0x0001)
Protocol type: IP (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: request (0x0001)
Sender hardware address: 00:00:00:00:00:00
Sender protocol address: 192.168.240.100
Target hardware address: 00:00:00:00:00:00
Target protocol address: 192.168.240.105
0 ffff ffff ffff 0000 0000 0000 0806 0001 ................
10 0800 0604 0001 0000 0000 0000 c0a8 f064 ...............d
20 0000 0000 0000 c0a8 f069 8064 0110 0001 .........i.d....
30 0000 0000 0000 2045 45 ...... EE
_________________________
Frank van Gestel
|
Top
|
|
|
|
#69491 - 12/01/2003 04:50
Re: Empeg USB-Ethernet Emulation Project
[Re: fvgestel]
|
enthusiast
Registered: 10/10/2000
Posts: 350
Loc: Copenhagen SW, Denmark
|
If the answer was not clear, that ethereal dump shows exactly what you want, a perfectly good ethernet packet, good work!
|
Top
|
|
|
|
#69492 - 13/01/2003 09:04
Re: Empeg USB-Ethernet Emulation Project
[Re: jane]
|
enthusiast
Registered: 10/09/2002
Posts: 285
Loc: DFW Area, Texas, US
|
Thanks for the additional info guys, even those protocol addresses look like the ones I was using
Progress is stalled at the moment as we have an excretion, rotary cooling device collision at work that is taking up all of my time
_________________________
Mark.
[blue]MKI, MKII & MKIIa, all Blue, and all Mine![/blue]
|
Top
|
|
|
|
#69493 - 23/01/2003 08:35
Re: Empeg USB-Ethernet Emulation Project
[Re: Chimaera]
|
enthusiast
Registered: 10/09/2002
Posts: 285
Loc: DFW Area, Texas, US
|
OK, a little more progress, I have written a fake device driver for my 'emulated' network card, and that passes data into the empegs network handlers in the same way the existing ethernet port does. When I start emplode looking for the device over Ethernet this is what I see from my debug:
RCV: LENGTH 3a
Packet of length 58
ffff ffff ffff 0009 5b03 7bf0 0806 0001
0800 0604 0001 0009 5b03 7bf0 c0a8 0064
0000 0000 0000 c0a8 0069 80d8 2810 0001
0000 0000 0001 2046 4844
netif_rx()
no backlog, and not dropping
Dequeueing SKB packet
type is 1544
pt_prev = -1072769308
Send
Packet of length 44
2a00 0009 5b03 7bf0 0009 5b03 7bdc 0806
0001 0800 0604 0002 0009 5b03 7bdc c0a8
0069 0009 5b03 7bf0 c0a8 0064
It looks like the send packet is a response back to Emplodes request, but my Empeg never turns up in the discovery window. I suspect at the moment that there is something wrong with the USB response I am sending, so I am looking at that, but can anyone confirm that this is a correct response that Emplode is looking for?
_________________________
Mark.
[blue]MKI, MKII & MKIIa, all Blue, and all Mine![/blue]
|
Top
|
|
|
|
#69494 - 23/01/2003 08:59
Re: Empeg USB-Ethernet Emulation Project
[Re: Chimaera]
|
carpal tunnel
Registered: 19/01/2002
Posts: 3584
Loc: Columbus, OH
|
I really have no experience here, but can you not hook up the network directly and see what a good packet trace looks like? Then try to duplicate that with your driver?
_________________________
~ John
|
Top
|
|
|
|
#69495 - 23/01/2003 09:15
Re: Empeg USB-Ethernet Emulation Project
[Re: JBjorgen]
|
enthusiast
Registered: 10/09/2002
Posts: 285
Loc: DFW Area, Texas, US
|
That would be the ideal solution, but I am at work at the moment, and the IT department would have a fit if they found a device that wasn't theirs on the network, plus I have no free sockets near me anyway. I could use the real USB ethernet adapter I have, but I have no crossover cable so that is out.
The bottom line is that the USB TX stuff needs looking at anyway, so that is what I shall do, but I just thought I would place the packets here incase anyone recognised them
_________________________
Mark.
[blue]MKI, MKII & MKIIa, all Blue, and all Mine![/blue]
|
Top
|
|
|
|
#69496 - 23/01/2003 12:17
Re: Empeg USB-Ethernet Emulation Project
[Re: Chimaera]
|
carpal tunnel
Registered: 19/05/1999
Posts: 3457
Loc: Palo Alto, CA
|
The first response will be an ARP reply; no packet will be transmitted (apart from broadcasts) to any host without the sender knowing the ethernet MAC address of the recipient first. To find this, the sender does an ARP broadcast of a "who is 1.2.3.4?". The reply is then cached for later use.
If the ARP request is being received by the empeg's kernel, it'll be sending an ARP reply; ISTR it should be the same length as the request though.
To appear in emplode requires a TCP connection and quite a bit of network traffic - identifying player type, version, etc. You'd notice this! I'd try a simple ping first, which should be an ARP request, an ARP response, an ICMP request and and ICMP response.
Hugo
|
Top
|
|
|
|
#69497 - 23/01/2003 12:18
Re: Empeg USB-Ethernet Emulation Project
[Re: altman]
|
carpal tunnel
Registered: 19/05/1999
Posts: 3457
Loc: Palo Alto, CA
|
It just ocurred to me that you may be sending back a "runt" packet (<64 bytes?) which is getting dropped by the host. There's a minimum ethernet frame length - pad anything <64 bytes with junk, it's ignored.
Hugo
|
Top
|
|
|
|
#69498 - 23/01/2003 13:22
Re: Empeg USB-Ethernet Emulation Project
[Re: altman]
|
enthusiast
Registered: 10/09/2002
Posts: 285
Loc: DFW Area, Texas, US
|
Hi Hugo,
Thanks for the heads up on runt packets, I tried a ping and nothing, adding in the runt thing now means a second 'differant' frame is sent, but it looks like it doesn't like that response, so I am playing a little more.
Thanks,
_________________________
Mark.
[blue]MKI, MKII & MKIIa, all Blue, and all Mine![/blue]
|
Top
|
|
|
|
#69499 - 23/01/2003 14:05
Re: Empeg USB-Ethernet Emulation Project
[Re: Chimaera]
|
enthusiast
Registered: 10/09/2002
Posts: 285
Loc: DFW Area, Texas, US
|
OK, so ping now works when connected via a USB cable.
Hugo, you guys appear to send LOTS of data when I try to start Emplode, I am removing traces now as they appear to be slowing everything down.
_________________________
Mark.
[blue]MKI, MKII & MKIIa, all Blue, and all Mine![/blue]
|
Top
|
|
|
|
#69500 - 24/01/2003 11:56
Re: Empeg USB-Ethernet Emulation Project
[Re: Chimaera]
|
enthusiast
Registered: 10/10/2000
Posts: 350
Loc: Copenhagen SW, Denmark
|
Cool! Good work!
Looking forwards to trying it when you approeach alpha/beta stage :-)
Marius (Escort Cab + Mark II)
|
Top
|
|
|
|
#69501 - 24/01/2003 13:59
Re: Empeg USB-Ethernet Emulation Project
[Re: jane]
|
enthusiast
Registered: 10/09/2002
Posts: 285
Loc: DFW Area, Texas, US
|
Thanks,
I merged my development build with my Standard B13/HiJack301 build so I could try out the HTTP server in HiJack, but I am now having "branch through zero" problems so I just need a little more debug time before I dish it out
_________________________
Mark.
[blue]MKI, MKII & MKIIa, all Blue, and all Mine![/blue]
|
Top
|
|
|
|
#69502 - 24/01/2003 16:40
Re: Empeg USB-Ethernet Emulation Project
[Re: Chimaera]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
This is totally freaking cool stuff!!
I really want to look through the code for this once you've got it mostly working! Hopefully I'll learn some new tricks from it.
Cheers!
|
Top
|
|
|
|
#69503 - 25/01/2003 09:58
Re: Empeg USB-Ethernet Emulation Project
[Re: Chimaera]
|
carpal tunnel
Registered: 29/08/2000
Posts: 14496
Loc: Canada
|
Mmm.. has anybody else thought through where this project is leading for Mk2(a) players.. just add the ipchains app and kernel code to the Hijack build, and your RioCar can become a router/firewall across its ethernet and USB ports.. Cool! I might use mine to filter rogue packets from an 801.11b wireless access point.. Or not.
Cheers
|
Top
|
|
|
|
#69504 - 25/01/2003 13:02
Re: Empeg USB-Ethernet Emulation Project
[Re: mlord]
|
old hand
Registered: 28/04/2002
Posts: 770
Loc: Los Angeles, CA
|
if we can emulate ethernet over usb, how long before we can do other devices? a general usb-host emulation layer would make anything possible... usb keyboard and a program to display the shell on the display = portable linux workstation.
|
Top
|
|
|
|
#69505 - 25/01/2003 15:49
Re: Empeg USB-Ethernet Emulation Project
[Re: image]
|
carpal tunnel
Registered: 23/08/2000
Posts: 3826
Loc: SLC, UT, USA
|
usb keyboard and a program to display the shell on the display = portable linux workstation.
YES YES YES! I've been wanting that for 2 years!
|
Top
|
|
|
|
#69506 - 25/01/2003 18:40
Re: Empeg USB-Ethernet Emulation Project
[Re: image]
|
carpal tunnel
Registered: 24/12/2001
Posts: 5528
|
The actual USB controller does some of the work still. It's still only a USB slave device. The ethernet controller that's being emulated is another USB slave device.
There isn't any way of making it appear to be a USB master which is needed to work with mice and keyboards.
- Trevor
|
Top
|
|
|
|
#69507 - 26/01/2003 04:14
Re: Empeg USB-Ethernet Emulation Project
[Re: image]
|
enthusiast
Registered: 10/10/2000
Posts: 350
Loc: Copenhagen SW, Denmark
|
Hehe. I think you may have misunderstood a little... Do you want the Empeg to act as a keyboard for your computer?
A better solution would be a serial-port keyboard. A shell for the empeg display already exists I seem to remember.
But What I really wish for is an empeg-USB Storage Device driver.
Marius (Escort Cab + Mark II)
|
Top
|
|
|
|
#69508 - 27/01/2003 03:28
Re: Empeg USB-Ethernet Emulation Project
[Re: jane]
|
carpal tunnel
Registered: 19/05/1999
Posts: 3457
Loc: Palo Alto, CA
|
Bulk-only MSC is actually pretty easy to implement; for most users (read: windows users) it'd be rather less useful unless you have an EXT2 filesystem plugin for your windows box... actually, do those exist?!
You could always run FAT on the empeg though, with a few tweaks!
Hugo
|
Top
|
|
|
|
|
|