#qi-hardware IRC log for Tuesday, 2013-12-17

wpwraknicksydney: and, is it time for the Victory Gin yet ?02:28
nicksydneywpwrak: nah....will go back and fight with it tongih02:51
nicksydneywpwrak: another good news i got ...someone from local hackerspace is going to give me 1 of those blue peel paper..so going to pick it up either tonight or tomorrow03:04
wpwrakgreat ! that that's one variable less to worry about04:50
nicksydneywpwrak, DocScrutinizer05 : i'm sure you have heard about this https://github.com/Kwamecorp/Fairphone ?06:26
DocScrutinizer05yep06:26
nicksydneyhttp://fairphone.com/06:26
nicksydneyDocScrutinizer05: what are your thoughts ?06:26
DocScrutinizer05much hype about nithing. The phone itself is basically a hoax, the ideology and the pushing they do on political layer is great06:27
DocScrutinizer05fairphone can't use fairer chips than e.g Neo900 does06:27
DocScrutinizer05they offer repair instructions and spare parts. OK so do we06:28
DocScrutinizer05They claim they got "fair Coltan" but how do they make chip manufacturers use that fair rare earths they claim to have sources?06:29
DocScrutinizer05they maybe use recycled plastic for their new case. We recycle the case ;-D06:29
DocScrutinizer05they don't manufacture in FoxCon China. We manufacture in Bavaria06:30
nicksydney:)....fair argument.....when it comes to business in China..anything to please the customer they will do even though they don't do it at the back room :)06:30
wpwraki think they're not trying to be "fair" on the rare earths. there's only about three things where they actually selected a "fair" supplier.06:30
nicksydneywill be interesting if MediaTek is willing to release the source to them and thus to the public06:31
DocScrutinizer05haha06:32
wpwraksourced of what ?06:32
nicksydneykernel06:33
wpwrakokay, more likely than other sources :)06:35
nicksydneythey won't release the video or graphic :)06:36
nicksydneyit's set in stone 06:36
DocScrutinizer05I think it's a featurephone with a nice DSDS MTK chipset that also runs the complete GUI. Not checked, just guess06:36
wpwraknaw, it's a smartphone06:37
wpwrak"Fairphone | A seriously cool smartphone. Putting social values first."06:38
nicksydneyDocScrutinizer05: stupid question....neo900 could run Android for that matter right since you will have all the different drivers ?06:38
Action: nicksydney duck behind desk because talking about Android in a non-Android channel :)06:39
DocScrutinizer05I think the replicant project will pick up on Neo900 as soon as they get their hands on it. AIUI they already ported replicant to GTA0406:40
DocScrutinizer05see neo900.org06:40
wpwrakhow the component hunt going by the way ?06:41
DocScrutinizer05http://neo900.org/#about  >>Most importantly, the Neo900 is an open platform, carrying on in the tradition of the Openmoko project. Neo900 will support all operating systems available for GTA04 (QtMoko, SHR, Debian, Replicant, ...)...<<06:41
nicksydneyDM3730 is the same used in BeagleBoard06:41
nicksydney"price of motherboard w/o case expected to be in the 500-700 EUR range" --> wow.... I'm out of cash :( ... maybe one day 06:43
DocScrutinizer05chicken/egg problem: low quantities to build cause low qty of components to source and high fraction of fixed costs per device thus causing high price/unit. High price per unit -> low number of customers, thus low qty of devices to build06:46
nicksydneyeconomy of scale in play06:47
nicksydney:)06:47
DocScrutinizer05and you know about the margins that players like Samsung and even Apple are making their money from?06:48
DocScrutinizer05we CANNOT compete with them, not even same league06:49
nicksydneyDocScrutinizer05: true...wonder if can create the pcb with my toner transfer :)06:49
DocScrutinizer05we can't get the components for the amount they ask for a complete unit to sell06:49
nicksydneywpwrak: i can't even get anelok to toner transfer properly and now i'm thinking of toner transferring neo9000.......now that's ambitious :)06:50
wpwrakthe likes of us are happy enough if we can get all the components ...06:50
DocScrutinizer05heck we are happy when we can get the components at all that they simply get built to order for their product06:50
wpwrakgreat minds things alike :)06:50
wpwraks/things/think/06:51
nicksydneyDocScrutinizer05: how you solder the BGA chip ?06:51
DocScrutinizer05vapor phase06:51
wpwraknicksydney: yeah, toner-transferring a 6 (?) layer board would be a bit of a challenge ;-)06:51
nicksydneyDocScrutinizer05: it's hard enough soldering smd component can't imagine BGA06:51
nicksydneywpwrak: crap...it's 6 layers ? ...damn !06:51
DocScrutinizer05you can't solder the modem any other way06:52
nicksydneyDocScrutinizer05: vapor phase ? now that's something i need to learn from you oh great jedi :)06:52
DocScrutinizer05Neo900? is 8 layer at least06:52
DocScrutinizer05iirc06:52
nicksydney1 layer is hard enough for me :)06:52
DocScrutinizer05nicksydney: it's really nice - just use a pot with a boiling liquid that has a boiling temperature of 235°C06:53
DocScrutinizer05then dump the PCB with components into the vapor06:53
nicksydneydoesn't the liquid vapor interfere with the solder ?06:54
DocScrutinizer05simple theory, expensive and complicated to do in real life06:54
nicksydneyi meant with the solder paste06:54
DocScrutinizer05no, it's a special hydrocarbon-halogenide afaik06:54
DocScrutinizer05it even serves as inert gas, so no need to flood the reflow oven with nitrogen06:55
DocScrutinizer05reflow temperature profiles are a major problem with vapor phase06:56
DocScrutinizer05you know, the whole process doesn't like too steep temperature gradients06:56
DocScrutinizer05and of course you don't want to make that expensive reflow-liquid evaporate into the air all the time, so the actual "machine" is quite complicated compared to e.g. ar "simple" IR radiation reflow line06:58
DocScrutinizer05IR & hot air06:58
nicksydneysounds like not an easy setup 06:58
DocScrutinizer05funny detail: the liquid is also used as blood-substitute06:58
DocScrutinizer05yeah, it#s not exactly easy. So we let solder ;-)06:59
DocScrutinizer05there are companies that do nothing but vapor phase soldering the whole day long07:00
DocScrutinizer05;-)07:00
DocScrutinizer05http://www.torenko.com/pdf/Todays-Vapor-Phase-Soldering-Tech-Paper.pdf07:03
nicksydneythanks...will read that07:04
DocScrutinizer05http://www.smta.org/chapters/files/Arizona-Sonora_IBL_SMTA_AZ_Expo_2012Dec4.pdf also nice07:12
DocScrutinizer05actually I think VP and particularly SVP is the smartest thing since sliced bread07:17
larsc_apelete: I think jz4740_musb_set_vbus() tries to do too much08:25
DocScrutinizer05no surprise08:31
DocScrutinizer05*_set_vbus() is pretty specific for the particular circuit/platform08:32
DocScrutinizer05and I don't know if ben can do it at all08:32
larsc_apelete: what am I missing? Why are things working even tough we do not provide a musb_hdrc_config?08:39
larsc_DocScrutinizer05: since we only have gadget mode the function will only ever be called with vbus_enable = false08:43
larsc_so there is actually nothing to do in there08:43
apeletelarsc_: musb_hdrc_config is provided in platform.c, that's why I didn't thought at first about writing the fix the way balbi suggested08:45
larsc_ah, ok08:46
apeletelarsc_: I was also thinking about the usefulness of jz4740_musb_set_vbus(), not sure if we actually need it08:46
apeletelarsc_: musb_hdrc_config -> http://projects.qi-hardware.com/index.php/p/qi-kernel/source/commit/03232dd185dd23d49a8e658a46172ea0c16d9808/08:46
larsc_I'm going to make a couple of minor changes to the driver if that is ok with you08:48
apeletesure, no problem.08:50
apeletelarsc_: was going to define musb_hdrc_config in glue layer code to add a quirk flag as balbi advised, but you'll certainly come up with a better way to fix this08:51
DocScrutinizer05larsc_: right08:54
DocScrutinizer05larsc_: anyway I wonder how upstream gonna handle the extreme platform dependency in *_set_vbus(). I don't see how to implement that in a platform-agnostic way, not even with the most evolved devicetree you could think of08:56
lekernelwhitequark, http://irclog.whitequark.org/ is 502 Bad Gateway10:01
whitequarkuh oh10:44
whitequarklekernel: fixed. unattended-upgrades decided to upgrade mysql, and irclogger doesn't like when "server goes away"10:45
whitequarkthankfully the logger bot is protected from that10:45
larsc_apelete: do you have a datasheet for a device with a full blown musb controller?10:45
larsc_DocScrutinizer05: your nova thor thingy also has a musb controller10:47
apeletelarsc_: only have jz4740 datasheet, why ?10:47
larsc_I want to lookup the meaning of the devctrl bits10:48
larsc_there are a couple of other places where it is read10:48
larsc_and I think we should fake the value as it would look like if the device is in gadget mode10:49
DocScrutinizer05MY nova thor thingy?? :-o10:52
DocScrutinizer05I know what's in (Nova)Thor, I had the pleasure to debug the sources10:53
apeletelarsc_: tried something like that yesterday night, that's why I was thinking about modifying musb_regs.h: didn't find any reg in jz4740 that might be read as devctl10:53
apeletebut maybe I overlooked something then :-/10:53
DocScrutinizer05the closed sources, I may add10:53
larsc_apelete: we should not have any #ifdef CONFIG_JZ4740 anywhere10:54
larsc_that's really bad style10:54
larsc_DocScrutinizer05: 'your's' because you worked with it10:54
apeletelarsc_: agreed, #ifdef makes the code hard to maintain, just didn't think about using platform_data at first12:25
apeleteanyway, I want to add the quirk flag by using "board_data" member of struct musb_hdrc_platform_data -> http://lxr.free-electrons.com/source/include/linux/usb/musb.h#L9812:26
apeletebut I can't firgure out how to access the member from within the musb_gadget.c code12:27
apeletelarsc_: any idea ?12:28
qi-bot[commit] Lars-Peter Clausen: usb: musb-jz4740: Don't manually free device managed resources (jz-3.12) http://qi-hw.com/p/qi-kernel/ee7dcba12:52
qi-bot[commit] Lars-Peter Clausen: usb: musb-jz4740: Move musb_hdrc_config to the glue driver (jz-3.12) http://qi-hw.com/p/qi-kernel/65b33a212:52
qi-bot[commit] Lars-Peter Clausen: usb: musb-jz4740: Move jz4740 specific fifo config to the jz4740 glue (jz-3.12) http://qi-hw.com/p/qi-kernel/8187ff712:52
qi-bot[commit] Lars-Peter Clausen: usb: musb-jz4740: Mask host mode only IRQ bits (jz-3.12) http://qi-hw.com/p/qi-kernel/fbeaeeb12:52
qi-bot[commit] Lars-Peter Clausen: usb: musb-jz4740: Remove set_vbus callback (jz-3.12) http://qi-hw.com/p/qi-kernel/af3548b12:52
larsc_apelete: so the gadget itself has this is_otg flag13:01
larsc_which is currently always set to 113:01
larsc_I think we should set that to either 1 or 0 depending on the config13:01
larsc_and then use the is_otg flag to check whether we should access the devctl register13:01
apeletelarsc_: you mean fix musb_gadget.c to access devctl depending on is_otg flag ?13:11
apelete(rephrasing it just to be sure I get it correctly, hope you don't mind)13:12
larsc_yes13:14
larsc_more or less13:14
apeleteokay great, will do that on top of the changes you just pushed and submit the patches again13:15
apeletelarsc_: thanks for cleaning up the code, looks much better with everything isolated from the musb driver code13:16
larsc_hm, just for fun enabled dma, seems to work13:20
apeletewow13:22
larsc_just netcat'ed /dev/zero and I get 1MB/s at 50% cpu usage13:22
larsc_is this good or bad?13:22
pcercueithat's rather high13:23
larsc_lets see how much I can get in pio mode13:23
larsc_the same actually13:27
apeleteno improvement using dma then ?13:34
larsc_it is probably not using dma13:35
larsc_ah "musb-hdrc musb-hdrc.0.auto: No DMA interrupt line"13:37
larsc_the problem though is that the controller uses the same IRQ line for both13:39
pcercueiboth what?13:41
larsc_dma and controller13:41
larsc_even with that fixed still no dma13:51
larsc_the driver never seems to call usb_gadget_map_request13:56
larsc_hm, it's trying to do dma, but the buffers are all unaligend ...14:14
larsc_argh...14:16
larsc_skb_reserve(skb, NET_IP_ALIGN);14:17
larsc_and IP_ALIGN is 214:18
larsc_so with dma cpu usage is down to almost idle, while I still get 1MB/s14:34
larsc_hm or maybe not14:34
wpwrak1 MB/s for high-speed device ?14:40
larsc_I guess14:48
larsc_the problem really is that the dma address has to be 32bit aligned14:50
larsc_this does not mix well with networking14:50
pcercueilarsc_, I have a crash on jz-3.12: http://pastebin.com/W5GBmAwX14:53
pcercueibut I get spammed with this so I can't see the kernel panic info14:54
larsc_enable CONFIG_KALLSYMS14:54
wpwraklarsc_: you should still be able to at least speed up inbound.14:55
pcercueiallright14:55
larsc_wpwrak: that NET_IP_ALIGN is on the receive path14:56
pcercueihere's with CONFIG_KALLSYMS enabled: http://pastebin.com/BH6nANJe15:04
pcercueithis time I did save the whole log so I have the beginning of the crash log too15:04
wpwraklarsc_: well, the choice would depend on what is worse: PIO or copying. right ?15:06
larsc_pcercuei: looks like a problem with your input driver15:22
larsc_wpwrak: well pio is copying15:22
larsc_the buffers are quite large I think15:22
larsc_and the bus is not that slow15:22
pcercueilarsc_, not really "my" input driver, the driver is gpio-keys, present in mainline Linux for ages15:23
wpwrakPIO is copying but different from DMA + memcpy. maybe better, maybe worse. i no idea which :)15:23
pcercueiI did report it on the mailing list15:24
larsc_wpwrak: I'd assume there is not much difference on the jz4740 between the two15:24
larsc_pcercuei: the report was not very complete15:24
larsc_I mean the snippet you posted doesn't even compile15:25
pcercueiof course it doesn't compile, it's an example15:25
pcercueialso, it's kinda hard to include a crash trace when you don't have a serial line :/15:26
pcercueithanksfully I could reproduce it on a device that has one15:27
larsc_the bug looks like a NULL pointer deref though15:27
larsc_its not clear where though15:29
nicksydneymorning all21:13
nicksydneywpwrak: what's new >21:13
wpwraksurprisingly little. even more surprisingly, i still have power, unlike about half of the rest of the city.21:15
nicksydneywpwrak: is there a strike or something in power plant ?21:22
wpwrak"something". like a decade of not investing into the infrastructure. and then something completely unexpected happens. a rare meteorological phenomeneon called "summer"21:24
wpwrakhere's a little rant of mine: http://www.argentinaindependent.com/currentaffairs/argentina-receives-energy-from-uruguay-amid-blackouts/#comment-20514821:27
wpwraknickoe: maybe we should take this here ?21:39
wpwraknickoe: e.g., the scripting that depends on eeschema i can recall without looking is schhist and the schematics symbol catalog of kicad-libs21:39
nickoewpwrak: yes, I understand, and that I guess, is because the pcb is what specefies more or less everything we are interrested in exporting to other formats21:40
nickoewpwrak: but the schhist is a nice thing for sometimes21:40
wpwraknickoe: while pcbnew is in: printing the layout for toner transfer, cnc-milling boards, "photo-realistic" layout preview, component positions for CAD and case21:41
wpwrakmaybe we could still open schematics made with today's kicad with an older eeschema, one that has the command-line patches ?21:43
wpwrakpcbnew has changed a lot, especially when it comes to the file format, but i think eeschema is pretty much the same (so far)21:43
nickoesounds possible for some time in to the future yes21:46
qi-bot[commit] Apelete Seketeli: usb: musb_gadget: use is_otg flag to set gadget peripheral mode on reset (jz-3.12) http://qi-hw.com/p/qi-kernel/f715ea422:32
apeletelarsc_: fix is working thanks to this previous one:22:33
apeletehttp://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=fd3923a9904f34d5472134358d87f454a288fc4522:33
apeletelarsc_: what do you think about it ? (tested already, I'm squashing all the commits including yours to send a patch v2)22:34
--- Wed Dec 18 201300:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!