#qi-hardware IRC log for Tuesday, 2013-11-05

DocScrutinizer05wpwrak: the uSD slot IS externally available, and we even change from detecting card-presence (aka umount) via hall switch and magnet in battery lid to a true switch integrated into uSD tray12:25
DocScrutinizer05we're not considering 6lowPan a common enough feature to integrate it into Neo90012:27
whitequarkDocScrutinizer05: 30k \o/12:28
DocScrutinizer05DocScrutinizer05: you bet we err *I* personally will take care to expose a damn wealth of "testpoints" to the battery bay12:29
whitequarktalking to yourself?12:29
DocScrutinizer05ooh, already? A started worrying snce no donations for 4h12:29
whitequarkwell, almost12:30
DocScrutinizer05wpwrak: you bet we err *I* personally will take care to expose a damn wealth of "testpoints" to the battery bay12:30
DocScrutinizer05mhm, so still 29830?12:30
DocScrutinizer05or 81012:30
DocScrutinizer05that's like this since 4h already12:30
DocScrutinizer05and Dos not around to finally install a new more encouraging progess bar and send out a newletter that doesn't sound like "thanks folks, we reached our goal"12:31
whitequarkyeah I was surprised about it. can't you just get more money? since you don't have any fixed production run planned anyway12:32
DocScrutinizer05that's the idea12:32
DocScrutinizer05but it's pretty poorly communicated12:32
wpwrakyou could overlay the progress bar with a growing arrow, for then next 25k :)12:33
wpwrakor just keep the bar size fixed and scale the marks12:33
DocScrutinizer05we're more interested in number of donors now12:33
DocScrutinizer05I already suggested to replace the amount¬ progress bar by a number-donors one, with a intermediat goal of 200 and a preliminary final goal of 100012:34
whitequarkand you really should post on /., HN, etc again12:35
whitequark"we've got this much people, let's get twice more!"12:35
DocScrutinizer05we don't *need* more funds actually, we need more customers documenting they're willing to buy a device once we go MP12:35
wpwraknumber of donors is a somewhat obscure metric. some may say that fewer would be better. also, donors are a subset of potential buyers.12:35
wpwrakand you don't know how big/small a subset they are. especially now, since you've reached your goal and there's no incentive to put more money at the moment.12:36
wpwrakwhitequark: naw, better to keep it exclusive. lots of fanboys also mean lots of noise. and someone has to handle the crowd.12:37
wpwraki guess the question is: what are the parts where you need large numbers ?12:43
wpwrakalso, 1000 seems pretty small for custom parts. at least if they're have a relatively low unic cost, like connectors12:44
DocScrutinizer05well, do you think I should write a 3pages whitepaper on that to explain the idea to customers?12:47
DocScrutinizer05for fab line it makes a damn difference if we run a batch of 200 or a batch of 100012:47
DocScrutinizer05both for fixed costs of line setup as well as for component cost since we might not need to retape components when we use significantly >>20012:48
DocScrutinizer05for real custom made stuff the situation is even more obvious, think the spacer frame we need to get built12:49
DocScrutinizer05for 2k PCB we might start to consider going the original icky integrated-FPC-to-doughterboard approach that Nokia opted for12:52
DocScrutinizer05we even might consider going PCB with embedded components, which is the new hype and has quite some advantages12:52
wpwrakyes, for SMT you need about 1000 units, minimum. but that's for later.12:52
wpwrakembedded components, how does that work ?12:53
whitequarkDocScrutinizer05: pcb with embedded components?!12:53
DocScrutinizer05no, that's for now, since we need to plan out path ahead12:53
wpwrakah, you're not sure yet about the future volume. i see. i would have thought you assumed you'd be able to sell > 1000 units when done anyway. (that is, unless you run into debilitating problems, which we all hope you won't)12:54
DocScrutinizer05how that works? exactly like you think it would. PCB manuf placing chips and discrete components between the PCB layers12:54
DocScrutinizer05no, we will produce to order12:55
wpwrakhmm. goodbye rework.12:55
DocScrutinizer05hello density and reliability12:55
wpwrak(produce to order) you'll have to make batches. so it would seem to be a separate step. well, doens't matter. a bit of overplanning can't hurt :)12:56
DocScrutinizer05it not only hurts, it might kill us12:56
wpwrak(reliability) is the process already well-established ? it's the first time i hear of it12:56
DocScrutinizer05we can't afford to buy 1000 N900 for spare parts, just to find we can stash 800 of them to the attic12:57
wpwrakhave you tried to reach the makers of replacement parts ?12:58
DocScrutinizer05we gonna produce strictly to order (+ spare for warranty)12:58
DocScrutinizer05we haven't tried anything like that yet12:58
wpwrakand 1000 small donations won't help you with buying 1000 N900 either. so i think whether you have 1000 or 100 wouldn't change your strategy at that point.12:59
DocScrutinizer05since we don't even know about which volumes we talk12:59
DocScrutinizer051000 donations of 100EUR make 1000 customes who already paid for their N90012:59
wpwraki'd say "think openmoko". likely more, since now a lot more people know smartphones and frustration with the established players is increasing13:00
DocScrutinizer05sorry you lost me13:00
wpwrakfor volume. expect to be able to sell at least about as many units as openmoko sold13:01
DocScrutinizer05HAH that would be nice13:01
wpwrak(N900) oh,they're that cheap. i see.13:01
DocScrutinizer05but pretty utopistic13:02
wpwrakyour project has a number of advantages: 1) safer hardware choices, 2) proven software package, 3) tending to a larger market13:02
DocScrutinizer05I'm, not gambling. I have no capital to gamble with13:03
wpwraknow you do :) and it's not gambling. it's just working with the right expectations. if you expect to handle the first 1000 units by recycling old N900, fine. there you have a data point you can work with.13:04
DocScrutinizer05we're going thru development phase now, which will look different for many aspects, depending on whether we plan for 200 or for 2k devices to manufacture. Once we are MP ready and open true preorder site where people pay in advance to receive their device 6 weeks later, we might even have to close down the order page once we exceed the amount of orders we anticipated and calculated with13:05
wpwrakhow about the next 10k ? would that still work or would supplies dry up ? that's why you'd want to talk to the replacement parts suppliers. maybe they can also help you with parts you didn't find. depends a bit on how they operate.13:05
DocScrutinizer05a few icky nasty little shitty things get in our way maybe: SMIA95 camera socket13:06
DocScrutinizer0564pin NON-standard FPC B2B connector13:06
DocScrutinizer05the plastic is abundance13:07
DocScrutinizer05no issues with getting 100k N900 spare cases13:07
wpwrakkewl :)13:07
DocScrutinizer05but we might not be able to source a single SMIA95 socket13:08
DocScrutinizer05ok, we might completely swap camera design then13:08
DocScrutinizer05go for a 12MP module with a more usual socket13:08
DocScrutinizer05but that's *risk* again13:08
DocScrutinizer05and who knows how good the manuf support for firmware is with such a solution13:09
wpwrakyeah. well, we know the drill :)13:09
DocScrutinizer05you know all cam modules/chips need rather proprietary custom made to fit postprocessing to gain a certain level of quality13:10
DocScrutinizer05for N900 5MP cam we got that, in Fremantle13:10
DocScrutinizer05for any other cam we are probably back to cam quality of fremantle PR1.0 which been *erhem* *cough*13:11
wpwraki guess there must be some common sets of algorithms. researchers may have some libraries you could steal from.13:11
DocScrutinizer05sure, but in the end only the chip manuf knows all the idiosyncrasies of their cmos chip13:12
wpwrakas long as they cause visible results you can fix them :)13:12
DocScrutinizer05or we start a research project that analyzes the chip's pictures for artifacts and other unwanted stuff and develops/adapts the needed algo13:13
wpwrakyour main risk would be to apply an algorithm in the wrong situation. that happens. you can always have a "raw" option to bypass that.13:13
DocScrutinizer05first pictures of N900 had terrible color noise, false colors, whatnot else13:14
DocScrutinizer05the flash is "green"13:14
DocScrutinizer05dunno what else13:14
wpwrakthat's what you get for stealing martian technology :)13:14
DocScrutinizer05s/of N900/taken with N900/13:15
wpwrakanyway, if all that can be fixed in sw, then you may not have to worry all that much about it. and you already know what to expect, so you won't panic if it looks evil.13:15
Action: whitequark works at http://evl.ms13:15
DocScrutinizer05then a whole university and Nokia joint task force worked on the cam drivers (google fcam) and with PR1.1 or PR1.2 finally N900 pic quality became usable13:16
wpwraknasty martians. one extra tooth and they're pointier, too13:17
wpwrakkewl. adobe didn't salt their pws. http://xkcd.com/1286/13:42
viricyes, the fun crosswrod13:43
viricwpwrak: they even don't hash. They only cipher.13:43
wpwrakcheers to the infinity of human stupidity ;-)13:43
larscin block mode13:43
wpwrakwell, ciper == hash as long as they key isn't broken13:44
wpwrakof course, once it is, even more fun :)13:44
viricwpwrak: well, with hash, all results are of equal length. Ciphering, length depends on the source.13:45
wpwrakwell, you could pad. of course, a  end = strchr(buf, 0); memset(end, 0, buf+sizeof(buf)-end);  may be a bit too demanding ...13:47
wpwrakblock mode would still get you in this case, just a little bit later13:47
larscyou could use the password as the key to encrypt some block of random data13:51
larscfixed sized block13:51
larscbasically the reverse of what they did13:52
wpwrak"There's only one group that comes out of this looking smart: Everyone who pirated Photoshop."13:52
wpwrakor end with \0 and pad with a halfway decent PRNG13:53
whitequarkor, you know, just salt them13:53
whitequarkah, that's what you're suggesting13:53
wpwrakmaybe they've heard too much salt is unhealthy13:53
wpwrakbut yes, they're making an excellent case both for closed source and for the cloud :)13:54
viricwell, this happens every now and then13:55
viricthere was a page with different-sized circles based on the number of accounts leaked, with a timeline.13:57
viricI can't remember what one13:57
paul_boddieThat Montserrat domain name can't have been cheap.14:08
viricwhat domain name?14:15
viric.com isn't montserrat14:15
viricRosa d'abril, morena de la serra... :)14:16
paul_boddieSorry, I was following the logs!14:16
paul_boddieComment made more sense about 45 minutes ago. :-)14:17
viricmany catalans choose Montserrat as country, when they are forced to choose a country of origin somewhere. :)14:18
viricIt's nice that we have such option in country lists.14:19
paul_boddieSure beats Norfolk Island, North Korea and Northern Mariana Islands for my typical country selection workflow (and not obstructing it).14:24
whitequarkpaul_boddie: $62/yr14:24
paul_boddiewhitequark: Keeps the domain sharks away, I guess.14:25
paul_boddieWow, real blog comment from the doc on my blog! Makes a change from people pushing handbags and guitar lessons.14:31
whitequarkDocScrutinizer05: 30k! for real this time17:37
whitequark30120 to be precise17:37
larscIf you continue like this you'll have half a million by next month17:38
DocScrutinizer05hah, yeah. today it already almost died to zilch17:47
larscah, ok, the top5 is 10k alone, not bad18:08
larscDocScrutinizer05: are you going to be at the ohsw?18:09
whitequarkwhere's cde when you need him.18:25
wpwrakooh, now that you're among the righ and famous, something like EUR 2000 per day is "zilch" now ! :)20:07
apeletelarsc mth: Hello21:31
larschi apelete 21:32
apeletewhat's up ? felt like it's been a while since we talked21:33
larscyea, been busy21:33
apeletebecause of ELCE ?21:34
larscand work21:34
larscand life21:34
apeleteha ha :)21:34
apeleteanyway, I'm having a hard time trying to figure out why the musb driver fails to detect endpoints for jz474021:35
apeleteI'm guessind it may be because the udc is not powered on, but I can't figure out how to power on the damn thing21:37
larscthe only thing that needs to be done is to enable the clocks21:37
apeletelarsc: so, I'm going to try something, and how would like you to tell me how reckless/foolish this is :-)21:37
larscDon't plug the USB cable into mains, if that's what you wanted to do21:40
apeletelarsc: clocks seems to be enabled already, but I saw the jzA749_udc driver was "powering on" the device by writing to the power reg:21:41
apelete/* Let host detect UDC:21:41
apelete * Software must write a 1 to the PMR:USB_POWER_SOFTCONN bit to turn this21:41
apelete * transistor on and pull the USBDP pin HIGH.21:41
apelete */21:41
apeleteusb_setb(dev, JZ_REG_UDC_POWER, USB_POWER_SOFTCONN);21:41
apeletelarsc: so, I would like to try the same by calling musb_pullup() from within the glue code. how stupid/dangerous do you think that is ?21:42
larscshouldn't cause any problems21:43
larscbut I don't think it will help reading the descs either21:43
apeletelarsc: hmmm, shouldn't cause any problem even with the usb cable plugged into mains ? (using battery is not convenient because of serial line, so I'm using usb cable as power source for the device)21:45
apeleteI looked into the clock gate register before, with mth's help, and the clock seems to be running already, so that's my best clue right now21:46
larscthere are two clocks21:46
larscor well the bit in the gate register only enables/disables autosuspend21:49
larscbut the real udc clock is enabled/disabled by bit 6 in the SLEEP_CTRL register21:49
larscin the clock core21:49
wpwrakapelete: if you're in a device role, maybe there's also a way to detect SOF reception. many usb blocks have an SOF interrupt, counter, or frame number register. seeing an SOF will tell you that the low-level stuff is working.21:50
apeletelarsc: clock activation in glue layer is as follow:21:50
apeleteclk = devm_clk_get(&pdev->dev, "udc");21:50
apeleteif (IS_ERR(clk)) {21:50
apeletedev_err(&pdev->dev, "failed to get clock\n");21:50
apeleteret = PTR_ERR(clk);21:50
apeletegoto err2;21:50
apelete 21:50
apeleteret = clk_prepare_enable(clk);21:51
apeleteif (ret) {21:51
apeletedev_err(&pdev->dev, "failed to enable clock\n");21:51
apeletegoto err3;21:51
apeletewpwrak: what does SOF stand for ?21:51
larscapelete: you can check the clock state in debugfs /sys/kernel/debug/jz4740-clock/21:51
wpwrakStart Of Frame21:51
wpwrake.g., a full-speed usb host generates one every 1 ms.21:51
wpwraktoo lazy to look what rate high-speed uses. i think low-speed is also 1 ms, but without sending a frame number. (on low-speed SOF is not a full token)21:52
larscbut that comes much later21:52
larscapelete: It might be that the hardware simply does not report any endpoint information21:54
apeletelarsc: I'm rebuilding a kernel image to look at clock state in debugfs but, what do I do if hardware is not reporting endpoint information ?21:57
apeletehardcode it in the glue code ?21:58
larschardcode them21:58
apeletewow :-)21:58
larscthe musb code seems to have support for this21:58
larscsee ep_config_from_table21:58
larscbtw. did you initialize num_eps?22:00
larscin your musb_hdrc_config22:00
apeletestatic struct musb_hdrc_config jz_usb_otg_config = {22:01
apelete.multipoint= 1,22:01
apelete/* Max EPs scanned. Driver will decide which EP can be used automatically. */22:01
apelete.num_eps= 6,22:01
apelete 22:01
apeleteI was wondering the diffences between ep_config_from_table and ep_config_from_hw just the other day22:03
apeleteto each day its own pain I guess then :)22:03
apeletelarsc: clock info in debufs (sorry for the delay, my serial line was working):22:41
apeleteroot@BenNanoNote:/# cat /sys/kernel/debug/jz4740-clock/udc/enabled22:41
apeleteroot@BenNanoNote:/# cat /sys/kernel/debug/jz4740-clock/udc/rate22:41
apelete*wasn't working22:41
--- Wed Nov 6 201300:00

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