<stefan_schmidt>
wpwrak: what, you are actually sleeping? ;)
<wpwrak>
stefan_schmidt: yeah, it's this time of the year ... :)
<stefan_schmidt>
wpwrak: heh, wrong side of the earth I would say
<stefan_schmidt>
wpwrak: just some update on the tetsing I did so far
<stefan_schmidt>
Arithmetic mean rountrip time: 0.000000 seconds and 151557.515625 usecs
<stefan_schmidt>
Received 115001 bytes in 63 seconds and 947962 usec => 1798.352783 Bytes/second
<stefan_schmidt>
That are the normal values I get
<wpwrak>
that's actually pretty good, considering the horrible latency :)
<stefan_schmidt>
Disabling printfs in my test program as well as turning off debug in the ieee802154 stack does not make any difference
<stefan_schmidt>
One test that is outstanding is doing them native between two laptops instaead of two kvm instances
<wpwrak>
i still don't know how kyak managed to get almost 100 ms less latency on his dual-core laptop. maybe it's the dual-core (my test box is single-core)
<stefan_schmidt>
may help to go through 2 usb stacks instead 4 :)
<wpwrak>
(stacks) ah yes :)
<stefan_schmidt>
what is great though is the reliability
<stefan_schmidt>
sending 1000 packets almost always gives me 1000 packtes :)
<stefan_schmidt>
the roundtrip time is both directions of course (hence roundtrip)
<wpwrak>
meanwhile, i've added a "hard mac" to the atusb firmware. just have to finish the counterpart on the kernel side. (basically a mix of at86rf230.c and spi_atusb.c. alas, code reuse via copy & paste)
<stefan_schmidt>
and involves copying the data to userspace and back to kernel
<stefan_schmidt>
wpwrak: (full mac) yeah seen the commit for the fw
<stefan_schmidt>
great to see you are tackling this
<wpwrak>
should then be relatively straightforward to add CSMA and ACKs, too
<stefan_schmidt>
grumbles about a netlink error
<stefan_schmidt>
wpwrak: don't forget resubmit in conjunction with AUTO ACK
<stefan_schmidt>
wpwrak: are you using the code form the linux driver for the firmware, the one from atmel or your own?
<wpwrak>
resubmit ?
<stefan_schmidt>
wpwrak: The chip should be able to resubmit a packet if a ack is missing within a given period of time
<wpwrak>
the firmware is just some minimum tx/rx loop. i'll leave the configuration to the kernel.
<stefan_schmidt>
ah, good
<wpwrak>
ah, i don't have to resubmit. i just tell the chip to send the thing and it should take care of the rest :)
<stefan_schmidt>
so basically something that allows some "batching" of spi register reads/writes into a bigger usb URB
<wpwrak>
including CSMA, randomized backoff, etc.
<stefan_schmidt>
wpwrak: good :)
<wpwrak>
(batching) sort of. you tell the firmware to enter RX mode. then it takes care of handling some interrupts locally (still need to decide on a few details there). then it auto-receives frames and sends them on EP 1.
<wpwrak>
for sending, you do a ATUSB_TX (new) request, which leaves RX mode, sends the frame, and then jumps back to RX.
<stefan_schmidt>
sounds easy enough from the kernel driver side
<stefan_schmidt>
and during probe doing the normal setup of the registers
<wpwrak>
yup
<stefan_schmidt>
sounds like a good solution to me
<stefan_schmidt>
pity that we can't re-use the 230 driver in this case. At least for ben-wpan it was possible
<wpwrak>
well, there's not so much left of it in the end :) the core logic is quite different. besides, the driver has lots of issues :)
<stefan_schmidt>
:)
<stefan_schmidt>
hmm, this small idea turned out harder that it should be
<stefan_schmidt>
Going to teach iz a set command to allow setting the pan, addr and channel manually
<stefan_schmidt>
Setting up a network without coordinator should be possible then
<stefan_schmidt>
Something that is needed to be "compatible" with the contiki implementation
<wpwrak>
ah, no coordinator in contiki ?
<stefan_schmidt>
Need to fight with netlink a bit it seems
<stefan_schmidt>
wpwrak: thats what I hear around me. Never used contiki myself
<stefan_schmidt>
wpwrak: But we want our DTN implementation working with one that get written fro the contiki side so we need to be compatible.
<stefan_schmidt>
Makes sense anyway I think.
<stefan_schmidt>
I'm wondering a bit on how many pitfalls I will find on the way :)
<wpwrak>
shouldn't be too horrible. after all, that's what izcoordinator has to do already :)
<stefan_schmidt>
wpwrak: indeed, getting my inspiration from there already.
<stefan_schmidt>
ok, setting works now. I'm abusing the coordinator command here. Hopefully it will not have strange side effects. :)
<stefan_schmidt>
ha, there we go. Communication without any coordinator involved. :)
<wpwrak>
izcoordinator joins the ranks of the jobless :)
<stefan_schmidt>
wpwrak: Aren't we all working for being jobless
<stefan_schmidt>
The point it to get enough money before to enjoy it :)
<wpwrak>
yeah ;-) let's hope the izcoordinator could make some savings :)
<rjeffr>
yawns
<wpwrak>
rjeffr: losing the eternal fight between good and boredom ?
<rjeffr>
hi werner. man, you are making some serious progress with ATusb. cool beans,
<wpwrak>
rjeffr: slowly but steadily :)
<rjeffr>
nice to see a few people are helping. interesting how subtle the issues are.
<wpwrak>
it's always the subtle ones that complicate things :)
<rjeffries>
wpwrak have you seen a 6LoWpan implmentation on Arduino yet? would make an interesting end-point for ATben or ATusb to communicate with (sensor application)
<wpwrak>
rjeffries: you mean the xbee ? don't know what software they use, though
<rjeffries>
there are hardware platforms, Zigduino is nice at $70 no 6LoWpan yet however
<wpwrak>
rjeffries: ah, everybody's doing homegrown protocols then :)
<wpwrak>
rjeffries: if the avrs are big enough, they could probably run contiki, which has a 6lowpan stack. don't know how small you can make it, though.
<rjeffries>
wpwrak I'll have a look at Contiki and ask around. thanks
<qi-bot>
[commit] Werner Almesberger: atusb/fw/mac.c: reserved code 0 and added notification of TX completion (master) http://qi-hw.com/p/ben-wpan/eeeb559
<qi-bot>
[commit] Werner Almesberger: tools/lib/atusb-common.c (atusb_tx): wait for and receive the TX completion (master) http://qi-hw.com/p/ben-wpan/8f8c414
<qi-bot>
[commit] Werner Almesberger: tools/atrf-txrx/atrf-txrx.c (main): removed endless loop in mode_hmac (master) http://qi-hw.com/p/ben-wpan/7605d8c