<stefan_schmidt> hi folks
<stefan_schmidt> wpwrak: ping
<wpwrak> stefan_schmidt: Zzz... :)
<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
<qi-bot> [commit] kyak: update asound.state (master) http://qi-hw.com/p/openwrt-packages/71066b6
<qi-bot> [commit] Werner Almesberger: spi_atusb: corrected name and typo in title comment (ben-wpan) http://qi-hw.com/p/qi-kernel/7569b81
<qi-bot> [commit] Werner Almesberger: spi_atben, spi_atusb: trimmed "dirty" #include of at86rf230.h (ben-wpan) http://qi-hw.com/p/qi-kernel/72b3769