#qi-hardware IRC log for Sunday, 2013-10-20

wpwrakabout the hardest bit it correctly aligning the QFN chips. it's easy to overlook having them off by one pin. and of course, that wouldn't go so well.00:00
eintopfyou need some components from (baumarkt) and drugstore, then you can build everything00:00
eintopfQFN http://www.finetech.de/uploads/pics/QFN_processcam_02.jpg00:01
eintopfsomething like this?00:01
wpwrakyup. a lot of solder there, though00:02
eintopfyou need (loetpaste)00:02
eintopfI have only a soldering iron from weller and solder00:03
eintopfand some lace in all colours00:04
eintopfi mean litz wire00:04
eintopfI think I have more success to build an anelok emulator than to build a real anelok ;)00:08
wpwrakyou need flux, yes. SMT without flux is pretty much impossible.00:09
eintopfah flux == loetpaste00:10
eintopfyou mean SMD?00:10
wpwrakSMD and SMT and more or less synonymous00:14
wpwrakhere's what the MCU looks like: http://downloads.qi-hardware.com/people/werner/anelok/tmp/solder-qfn.jpg00:14
wpwrakon the right side, i'm also guilty of using too much solder. ah well ...00:14
eintopfah freescale00:15
eintopfon the front right00:15
wpwrakkineis kl25. nice little ARM.00:15
eintopfpin 2-3 from right00:16
eintopfare conntected00:16
eintopfmaybe :)00:16
eintopfand in the middle of board00:16
wpwraknaw. that's just dirt00:16
wpwrakflux residues. they're hard to get rid of00:17
eintopfbut you need flux00:18
eintopfand antiflux00:18
eintopfthe little coppercolour wire00:18
eintopfto remove solder00:18
eintopfyou use it but remove it not completely00:19
eintopftricky, you need to have the right feeling for this00:19
wpwrakdesoldering braid ? that only goes so far ... if you try too hard, you damage the traces00:19
wpwrakand yes, flux remover would help to go a bit further. but the ultrasonic cleaner already does a pretty good job.00:20
eintopfah ultrasonic cleaner00:22
eintopfwpwrak: do you could make a layer of varnish on top of your prototype?00:23
eintopfmy solution of all soldering a layer of glue00:23
wpwrakvarnish would complicate rework00:25
wpwrakglue and soldering ? hmmm ...00:25
eintopfafter soldering I take the hot glue gun00:27
eintopfand shot it on my board00:27
wpwrakwhy ?00:27
eintopfto prevent loose contact00:27
wpwrakwhat are you soldering ? water pipes ? :)00:28
eintopfno for example the lirc module00:29
eintopfnext time I take a picture00:29
eintopfbut then I would scare you00:30
eintopfthe grey quadrats on the qfn00:31
eintopfis for holding the ic?00:31
eintopfor gnd?00:31
eintopfwhat the hell is this00:32
eintopfokay, maybe I should read the datasheet00:33
wpwrakyou mean the little grey squares in the middle ? they're solder paste00:34
wpwrakthis explains why: http://www.nxp.com/documents/application_note/AN10365.pdf00:41
eintopfah thanks00:51
eintopfpage 27 looks like my home labor00:51
eintopfwpwrak: I just googled anelok and only I get is a russia money transfer bank anelik00:57
eintopfoh that's very trustful ;000:57
wpwrakmaybe you mistyped it ?00:58
eintopfI like the display and the weel01:02
eintopfif I would get some of these anelok, I would port doom on it ;)01:02
eintopfthe most ported game for ever01:02
eintopfwpwrak: I need to rework the lowpan patches :(01:03
eintopfwpwrak: I need to sleep now01:11
eintopfgood night01:11
eintopftomorrow I will make the lowpan patches01:11
wpwrakdoom .. hmm, should be fun at 128x64 :)01:13
wpwraktransmission-error-free dreams ! :)01:13
apeleteHi there16:31
apeletelarsc mth: been working on musb today, used a #define DEBUG and loglevel=8 to get a more verbose boot -> http://paste.debian.net/59879/:16:39
apelete[    1.750000] bus: 'platform': driver_probe_device: matched device musb-jz4740.0 with driver musb-jz474016:39
apelete[    1.760000] bus: 'platform': really_probe: probing driver musb-jz4740 with device musb-jz4740.016:39
apelete[    1.770000] musb-jz4740: glue kzalloc OK!16:39
apelete[    1.780000] musb-jz4740: platform_device_alloc OK!16:39
apelete[    1.790000] musb-jz4740: platform_set_drvdata OK!16:39
apelete[    1.800000] musb-jz4740: platform_device_add_resources OK!16:39
apelete[    1.810000] musb-jz4740: platform_device_add_data OK!16:39
apelete[    1.830000] bus: 'platform': driver_probe_device: matched device musb-hdrc.0.auto with driver musb-hdrc16:39
apelete[    1.840000] bus: 'platform': really_probe: probing driver musb-hdrc with device musb-hdrc.0.auto16:39
apelete[    1.850000] musb-jz4740: init OK!16:39
apelete[    1.860000] musb-hdrc: ConfigData=0x00 (UTMI-8)16:39
apelete[    1.870000] musb-hdrc: MHDRC RTL version 2.30016:39
apelete[    1.880000] musb-hdrc musb-hdrc.0.auto: <== static silicon ep config16:39
apelete[    1.890000] musb-hdrc: missing bulk16:39
apelete[    1.900000] musb-jz4740: exit OK!16:39
apelete[    1.910000] musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -2216:40
apelete[    1.920000] musb-hdrc: probe of musb-hdrc.0.auto failed with error -2216:40
apelete[    1.930000] musb-jz4740: platform_device_add OK!16:40
apelete[    1.940000] musb-jz4740 registered16:40
apelete[    1.950000] driver: 'musb-jz4740.0': driver_bound: bound to device 'musb-jz4740'16:40
apelete[    1.960000] bus: 'platform': really_probe: bound device musb-jz4740.0 to driver musb-jz474016:40
apelete[    1.970000] couldn't find an available UDC16:40
apelete"missing bulk" message seems to come from ep_config_from_hw() which is called by musb_init_controller() 16:41
apeletereading from musb_core.c code, couldn't see what's needed in order to get the usb endpoints config right16:42
apeletemth larsc: I added a j4740_musb_set_vbus() in glue layer but that didn't cut it, any idea ?16:43
DocScrutinizer05set vbus is a tricky thing, since it depends on the particular device and how it implemented VBUS-boost and charging. Make DAMN SURE you switch off the charging before you enable vbus boost, or you might fry the hardware17:31
DocScrutinizer05you also don't want to enable 5V VBUS boost before you disabled any gadget driver that would try to start ENUM when detecting 5V on VBUS. Likewise you don't want to enable gadget mode (B) in musb_hdrc (after exit from hostmode A and thus disabling the booster) before any voltage buffered in capacitors on VBUS got discharged and voltage level is <2some Volt. Otherwise, see above17:36
apeleteDocScrutinizer05: thanks for the warning, wasn't aware of that :). how am I supposed to swith off the charging on the nanonote ?17:38
DocScrutinizer05sorry, no idea17:38
DocScrutinizer05no schematics at hand17:39
apeletemaybe I shouldn't be using the usb port to power the device (like I'm doing right now), and rely on the batteru instead until vbus setting is ok17:40
DocScrutinizer05booster and charger powering concurrently doesn't hurt either of both.17:47
DocScrutinizer05powering VBUS17:47
DocScrutinizer05what does harm is booster and battery charging circuitry enabled concurrently17:48
DocScrutinizer05battery charging circuitry is always enabled, or gets started/enabled as soon as 5V on VBUS get detected17:49
DocScrutinizer05it doesn't matter if a external power source is connected to USB17:49
apeletegood to know17:56
DocScrutinizer05you must avoid to "plug the UPS' mains plug into its own outlet"18:46
mthafaik the NanoNote doesn't support host mode; is VBUS ever driven by the device?19:07
wpwrakthere's no host mode nor is there anything to drive VBUS19:43
wpwrakPIN input demo: http://downloads.qi-hardware.com/people/werner/anelok/tmp/pin-demo.ogg19:57
apeletemth: does that mean the set_vbus() call shoud return without doing anything ?20:04
mthI don't know if it can be empty or should disable vbus in some register20:06
apeleteI used the jz4770 set_vbus() function as an example for jz474020:06
mthdoes the old UDC driver contain any hints?20:06
mththe 4770 does support both device and host mode, so it's different from the 474020:07
wpwrakopenshot turned out to be surprisingly usable. limited, but at least the basic things aren't so hard to figure out.20:11
apeletemth: didn't see anything power related in old udc driver20:19
apeletein 4770, vbus setting seems to be handled with :20:23
apeleteif (is_on) {20:23
apelete  ...20:23
apelete  MUSB_HST_MODE(musb);20:23
apelete} else {20:23
apelete  ...20:23
apelete  MUSB_HST_MODE(musb);20:23
apeleteI guess jz4740 only need the "else" part, or am I overlooking something here ?20:24
apeletemth: oops, I meant:20:26
apeleteif (is_on) {20:26
apelete  ...20:26
apelete  MUSB_HST_MODE(musb);20:26
apelete} else {20:26
apelete  ...20:26
apelete  MUSB_DEV_MODE(musb);20:26
apeletewpwrak: impressive progress with that anelok project of yours20:34
apeletebeen following on the mailing list, it baffles me how fast you're making this :-)20:35
wpwrakthanks ! :) it's actually not all that fast. alas, "real work" and the occasional social obligation get in the way ...20:43
apeleteyeah well, since you're making both the hardware and software, it seems to be moving along pretty well if you ask me20:52
apeletelooking at the video posted earlier make me want to buy one of these already. I hope you'll be able to get it manufactured :)20:56
wpwrakhehe, so do i :)21:00
mthI'm not sure you have to set the mode at all, if the pdata already states it is host-only21:11
mthbut it would be worth checking the musb code that reads the pdata21:11
mthsorry, device-only21:12
apeletemth: ok, will check what's in the pdata. any idea about that "musb-hdrc: missing bulk" ?21:25
mthendpoints for bulk transfers?21:25
apeleteI guess so, but can't figure out where the usb endpoints are supposed to be configured21:26
mth/* Max EPs scanned. Driver will decide which EP can be used automatically. */21:27
mth.num_eps= 6,21:27
mth(from struct musb_hdrc_config)21:27
mthso the musb core probably checks the hardware regs to figure out how many endpoints there are21:28
apeleteso the number of ep found by usb core should match .num_eps in struct musb_hdrc_config ?21:29
viricgrmbl there is no free codec for *interlaced* video. Neither theora or vp8 supports it.21:46
apeletemth: just tried ".num_eps = 4" in struct musb_hdrc_config since the old udc driver is advertising 4 endpoints21:50
apeletestill getting "musb-hdrc: missing bulk" during boot though21:50
mthit says the number scanned, so the number found will be <= the number scanned21:55
mthadding logging to the scanning code would be useful21:56
mthto see if it is called, and if so, why it is rejecting endpoints21:56
mthis the hardware powered and its clock started before the scanning happens? (not sure if both are configurable, but most likely at least the clock is)21:57
apeleteok, will add logging to ep_config_from_hw() in musb_core.c to see what's happening exactly22:05
apeletethanks for the hint22:05
--- Mon Oct 21 201300:00

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