Sunday, 2012-07-01

*** M4rtinK has quit IRC00:12
*** rZr is now known as rzr00:18
*** KaIRC has quit IRC00:53
*** rzr is now known as rZr00:54
*** KaIRC has joined #nemomobile01:06
*** npm_ is now known as npm01:17
*** rcg has quit IRC02:18
*** himamura has joined #nemomobile02:20
*** rcg has joined #nemomobile02:33
*** KaIRC has quit IRC02:52
*** Estel_ has quit IRC03:31
*** Estel_ has joined #nemomobile03:40
*** Estel_ has quit IRC05:04
*** Estel_ has joined #nemomobile05:04
*** furikku has joined #nemomobile05:20
*** npm has quit IRC06:01
*** npm has joined #nemomobile06:05
*** noch has joined #nemomobile07:08
*** nsuffys has joined #nemomobile08:06
*** niqt has joined #nemomobile08:29
*** NIN101 has joined #nemomobile09:12
*** vakkov_ has quit IRC09:14
*** M4rtinK has joined #nemomobile09:17
*** Guest17580 is now known as Jade09:45
*** Jade has joined #nemomobile09:46
*** rZr has quit IRC10:07
*** Siosm has joined #nemomobile10:12
*** Siosm has quit IRC10:20
*** vakkov_ has joined #nemomobile10:36
*** noch has quit IRC10:39
*** niqt has quit IRC10:44
*** MohammadAG has quit IRC10:53
*** nsuffys has quit IRC10:54
*** Estel_ is now known as dhfg11:52
*** dhfg is now known as Estel_11:52
*** KaIRC has joined #nemomobile12:03
*** Termana has joined #nemomobile12:14
*** jluisn has joined #nemomobile13:11
*** DocScrutinizer has quit IRC13:18
*** DocScrutinizer has joined #nemomobile13:18
*** phaeron has quit IRC13:18
*** phaeron has joined #nemomobile13:20
*** jluisn has quit IRC13:37
*** faenil has joined #nemomobile14:00
faenilcan anyone sum up recent happenings about nemomobile for me? :)14:03
faenilStskeeps, yo man :)14:04
Stskeepsits progressing nicely14:05
faenilStskeeps, like? :)14:08
faenilis anyone still working on N950 hw adapt?14:08
faenilhas anyone fixed the battery level issue? what about the stuttering when scrolling (I remember it was due to sgx drivers)?14:09
Stskeepsi've been investigating the tearing issue, may be due to 32bpp windows14:16
Stskeepsaccording to a sgx guy we met14:19
Stskeepsbut i need to verify it better14:19
faeniland haven't you tried with different bbps?14:19
Stskeepswe also have new wifi applet and connman coming in14:19
Stskeepsi did, but no direct difference14:20
faenilyeah received an email about that14:20
vakkov_hah, they have tearing issue when scrolling in nitdroid too14:20
faenilmm I see..14:20
faenilvakkov_, nice, that is a wonderful thing, more people looking for solutions14:20
Stskeepsthey use different drivers than us though14:20
faenilbut still, I guess the root of the problem is the same...14:21
faenilwouldn't it be possible to talk to someone at Nokia who worked on the N9?14:21
Stskeepswe did, actually14:21
faenilthis is a little info, don't think there's NDA or such14:22
faeniloh :O14:22
vakkov_they are using 2.6.32 kernel and TI SGX DDK14:23
Stskeepshence the 32bpp [B[B[Bthough tehere isnt many people left from n9 anymore14:23
faenilStskeeps, not in Nokia, you mean :D14:23
faenilStskeeps, so they fixed that by changing the bpp? :O14:24
Stskeepslisted it as a potential problem14:24
faenilmm ok14:25
*** Siosm has joined #nemomobile14:26
*** Siosm has quit IRC14:27
faenilwe could try asking him
faenilif he knows someone we can ask14:28
faenilI've often been joking about moving down a layer per each product, so that probably makes my goal as moving to full kernel guy ;-)"14:29
faenilI can send him a message via twitter, if you think that could be helpful Stskeeps14:33
faenilunless he's the guy you talked to14:33
*** Siosm has joined #nemomobile14:36
*** Siosm has quit IRC14:37
faenilStskeeps, do you know this guy?
Stskeepsyes, rcg15:04
Stskeepsand don't bother messaging tuomo, he's looking for a job atm..15:05
faenilStskeeps, yeah I've read that...15:08
faenilStskeeps, anyway, have you ever seen this?
faenilI mean, talking about battery15:09
faenilit seems to read battery temperature and voltage from twl403015:10
faenilwhich is the power manager15:10
faenilStskeeps, and there is a lot of code about bq27521 too15:15
Stskeepsmaybe, i can't touch it in open sadly though15:18
faenilwhat do you mean? Stskeeps15:19
faenilStskeeps, also, couldn't we just open an N950 and see what's the battery manager? and gauge, and whatelse?15:21
faenilsince it seems we don't know what's the chip inside the n95015:21
faenilrcg, ping15:22
Stskeepswe know the chip but no public chipset15:24
faeniloh :(15:25
Stskeepser, datasheet15:26
faenilyeah read that15:26
faeniland there doesn't seems to exist any 521 model...15:27
faenilStskeeps, and aren't those info available publicly? I mean can Nokia people talk about that?15:30
faenilthere's no datasheet from TI15:30
faenilbut isn't it possible to ask Nokians some info?15:30
Stskeepsno, and in practive meego devices is gone15:32
faenilpractive meego devices is gone? Stskeeps15:35
faenilthe dept you mean15:35
faenilwell but that doesn't matter, people don't just disappear15:36
faenildon't you think people who worked on the N950/N9 still have info about those things?15:36
Stskeepssure, but they are prohibited to share and most  no longer hav e the materials15:38
faenilsocial engineering :D meego is dead, what's wrong with sharing info about phones who'll never come to life :D15:40
faenilcya ;)15:40
rcgfaenil: pong15:42
faenilrcg, hey :)15:42
faenilI was trying to get some info about the battery issue to see if there was anything I could do to help15:42
faenilI've read the blog post and read chat pages of you and Doc15:43
rcgfaenil: roger that :)15:43
rcgany help is highly appreciated15:43
faenilso, what's the current status?15:43
faenildon't know if what I have read is updated15:43
rcgessentially, as stated in the blog post15:43
rcgfrom my side, the blog post is most up-to-date15:43
faenilmm I see15:44
faenilso the only thing to do is reversing the dump and linking bytes to commands?15:44
rcgi assume you also had a look at the github(?) page where i uploaded the raw results etc?15:44
faenilyes I did15:44
rcgthat's more or less what i tried so far, yes15:44
faenilbut you didn't succeed, why?15:45
rcgwell, as you see in the blog post i _think_ i identified some interesting fields in the i2c chip15:45
faenilyeah, and not many are missing :)15:45
rcghowever, all my attempts to come up with a suitable kernel module were unsuccessful15:45
faenildid you just run of ideas? or found any problem? got stuck in something?15:46
faenilwhat do you mean?15:46
faenil(I'm new to low lvl stuff ;) )15:47
rcgthere is some bug report about this issue that also includes a patch that tries to come up with a kernel module that reads data from the i2c chip and exports these via sysfs15:47
rcgfaenil: don't worry.. i am fairly new to this as well :)15:48
rcgjust gimme a sec and i will look up these things15:48
faeniland I've never written any kernel module :D15:48
faeniljust Qt programmer out of CS uni atm :D (studying for the specialization course)15:48
rcgfaenil: right, don't worry.. am also very much doing try and error and (more or less, most times less) educated guessing ;)15:51
faenilso do we only have to associate bytes with meanings, or there are also problems in reading them?15:52
rcgthere are also problems reading them15:52
rcglet me get the info...15:52
faenilthe association shouldn't be too painful, I mean it must be a permutation of the TI's datasheet for other models15:52
faenilrcg, oh :(15:52
rcgthat's one issue.. the ti data sheets make no sense at all when compared to what you see in the chip and what you see in the data sheet :/15:53
faenilbut we know those are the things written in there15:53
faenilwe just don't know the order...15:53
faenil(ok, the data sheet doesn't use proper words, but...) :)15:53
rcgwell, with respect to the data sheet: those offsets mentioned data make absolutely no sense when compared to what you actually see when reading from the chip via i2c15:54
rcgthe only thing that actually makes sense is that writing 0x0001 to 0x0000 of the chip (as word) returns 0x0521 which kinda looks like the chip version15:55
faenilbut what I mean is...15:55
faenilI guess that the addresses are different15:55
faenilbut the info (atRate() , atDischargingRate() ) must be the same..15:56
faenildon't you agree?15:56
faenilmaybe atRate() isn't 0x02 , but 0x0e15:56
faenildon't know15:56
faenilthat's what I mean :)15:56
rcgyeah, that's what i tried to figure out by reading data over a longer period from the chip and is what i tried to summarize in the blog post15:56
faenilok, yeah, just wanted to see if we agreed on that ;)15:57
rcgbut unfortunately, there are also some issues when reading the data from the chip via the current version of the kernel module15:57
faenilok so that's the main problem15:57
rcgthat's the bug report with a link to the patch15:57
rcgthat patch adds the kernel module15:57
faenilyeah I've read that :)15:58
rcgthat's my branch of the kernel hw adaptation for n950 i am currently using for experimenting15:58
rcgthere you can download the current status of my tries with the kernel15:59
*** niqt has joined #nemomobile15:59
faenilok, but where's the problem? what are you using to read info?16:00
faenilveskuh showed some values16:00
faenilin the bug post16:00
rcgactually, what i did was experimenting with the 0001-backport-from-kernel-2.6.39.patch patch16:00
rcgwell, one thing i figured is that using "upower -d" as mentioned in the bug report seems not to be pretty good for actually testing things16:01
rcginstead seems much better to read those values directly from the sysfs for experimenting16:01
faenilcan't we just get the dump and display it on screen? dirty hack, but it works at least...16:02
rcgthen in dmesg, you can see the debug output16:02
rcgwhat do you mean with "get the dump"?16:02
rcgyou can read the raw data from the chip via i2cdump16:02
rcgthat's what my script did and that's the data i based my assumptions on16:02
faenilso can't we just bypass upower and display that info on the top left corner?16:03
rcgnow, the next step is to get a kernel module somehow running, that reads the data from the chip via i2c and exports it via sysfs16:03
faenilonce we're sure what the remaining battery is16:03
rcgwell, that would be another way to do this :)16:03
faenilI mean, you gave it an interpretation and modified the driver, right?16:04
faenilnow, who's not showing? where are you getting stuck? what's not fetching the data?16:04
faenilthat's what I don't get :)16:04
rcgthat's what i did16:04
rcgor tried16:04
rcgmaybe just try to install the kernel from my repository i linked above16:05
rcgthen you can better see what i am talking about16:05
rcgthe issue is that sometimes the sysfs entries report values and sometimes don't16:05
faenilI don't have the n950 here ..16:05
rcgwhen they don't report values, dmesg output shows error messages from the driver/kernel module code16:05
rcgthe issue that bugs me right now is that it's working sometimes and sometimes not.. i couldn't find any regularity in this16:06
faenilmmm yeah16:06
faenilI'm missing what the normal workflow should be XD16:06
rcgthat's what i wanted to deal with first.. afterwards we could then simply mess with offsets and byte/word conversions and all this stuff.. which _should_ be fairly easy16:06
faenilcan you make a real world example of the normal functioning of the whole thing?16:07
rcgwhat do you mean with "real world example"?16:07
faenilI mean, you power on the phone16:07
faenilwho tried to read the data?16:07
faenilwhere do you see if it's successful? what are you trying to read it? why are you exporting it to sysfs?16:07
faenilall that stuff :D16:07
faenilwho tries*16:08
faenilhow* are you trying to read it16:08
faenilwho calls q27x00_battery_read_energy(struct bq27x00_device_info *di) for example16:08
rcgwell, exporting via sysfs seems the way the kernel module is designed16:09
rcgalso upower seems to read from sysfs16:09
rcgwhen reading from the sysfs nodes the module seems to try to communicate via the chip16:09
rcgif this is successful the, e.g., "cat sysfs_thingie" returns a value16:09
rcgif it is not successful you get an error iirc and dmesg shows more details about this16:10
faenilis the kernel module the .c file you modified?16:10
rcgat least one of the c files16:10
faenilso, that .c file gets compiled into the .so right?16:11
rcgthat is16:12
faenilko in our case, ok16:12
rcgwell, iirc, the patch modifies quite some files16:12
rcgone of these will become the kernel module16:12
faenilkernel module = driver?16:13
rcgmy problems are: i am not very familiar with linux kernel module stuff, neither am i with how kernel modules interface i2c (which seems to be one issue), nor am i with sysfs, which seems the next issue :/16:13
rcgkernel module == driver16:13
faenilso we would just need someone with those competences to get it fixed in no time xD16:14
faenilso something asks the module to read values right? (the power manager, or what else?)16:15
rcghopefully :)16:15
rcgwell, the interesting thing is, that reading from a sysfs node, e.g. via "cat sysfs_thingie", seems to actually trigger the kernel module or driver to try to read the values via i2c16:16
rcgwhich, sometimes succeeds and sometimes failes, for no apparent reason16:16
faenilshouldn't it try to read automatically? I mean isn't there something which autoupdates battery status?16:17
faenilDocScrutinizer, maybe you can help, tell me you're there :D16:17
rcgsry brb16:17
*** vakkov has joined #nemomobile16:17
vakkovwhere can i download from?16:18
DocScrutinizerfaenil: hmm?16:19
faenilkernel modules...16:19
faenilwe were talking about the battery issue16:20
faenilrcg says the module fails to export read values to sysfs16:20
faeniland he says it seems the way to trigger the reading is "cat sysfs_bla_bla"16:20
faenilwhen you cat the module read values from i2c but it randomly fails16:21
faeniland you see the output of the error from dmesdg16:21
vakkovi want to make an image similar to the ones nemo is distributed with16:21
DocScrutinizerdepends on particular kernel module we talk about16:21
faenilDocScrutinizer, I mean, isn't there anything which autoupdates battery status?16:21
faenilhow does it usually work?16:21
DocScrutinizerno, usually there SHALL NOT be any 'auto-update'16:22
faenilhow is the battery status updated?16:22
vakkovwhat device are you talking about? IF N9/N950 look at e-yes's bme16:22
DocScrutinizeron reading sysfs node, the driver reads the I2C16:23
faenilwe're trying to get the battery status indicator to work16:23
faenilok, and how do you keep the battery indicator updated?16:23
DocScrutinizerbattery indicator needs to read battery status from sysfs whenever needed16:24
faenilok, so it has to read it once every X seconds, right?16:24
faenilit autoupdates the indicator :D16:24
DocScrutinizerbased on timer, focus, screenlock, whatnot else16:24
faenilyeah exactly16:24
faenilok, so the cat command is what starts it all, ok ;)16:25
faenilthank you :)16:25
faenilrcg noted that, but we're not sure if that's the wanted behavious16:25
DocScrutinizernota bene BME is using direct I2C access to battery gauge, which *will* occasionally cause collisions with any other kenel module meant to read same chip for sysfs node16:26
faenilwhat's BME first of all :D16:27
DocScrutinizeralso a kernel module like bq27x00.ko will cause I2C resource occupied so after loading this module BME will just fail16:27
faenilno bot here :D16:27
DocScrutinizermaemo/nokia Battery Management Entity16:27
faeniland is that what's used in Nemo?16:28
faenilI mean, do we have to care about that?16:28
DocScrutinizerask Stskeeps16:28
faenilthe current problem anyway is that cat sysfs_bla_bla doesn't always work16:28
DocScrutinizeryep, collisions most likely16:29
faenildon't know what the error shown in dmesg is16:29
DocScrutinizerbest bet is to read twice and discard differing pairs16:29
faenilbut this is strange, all drivers which collide write to dmesg?16:29
DocScrutinizerdirty but a stopgap bandaid16:30
faeniland is it that likely to happen?16:30
faenil2 drivers reading the same file16:30
faenil(battery chip)16:30
DocScrutinizerBME uses direct I2C access, and when it collides on I2C with kernel module trying concurrent read, it simply results in wrong value read from bat gauge16:31
faeniloh ok16:31
faenilyou mean concurrent i2c read as in, 2 modules reading 2chips with i2c, or 2 modules reading same chip?16:31
DocScrutinizerwhen BME gets restarted however after kernel module got loaded/modprobed, it will fail to open I2C resource16:32
faenilwe still don't know if bme is used, so I guess that's another issue :)16:32
DocScrutinizerBME reading chip 0x58:bus2 via I2C16:32
DocScrutinizerbq27x00.ko accessing same I2C addr16:33
faenilok so same chip16:33
DocScrutinizervia I2C driver iirc16:33
faenildoesn't BME use a module?16:33
DocScrutinizerI2C 'module'16:33
DocScrutinizersee i2cget cmd16:33
DocScrutinizerat maemo somebody is working on a wrapper ld_preload lib to divert direct I2C access to a sysfs read, for that particular chip16:35
DocScrutinizerto "fix" bme16:35
faenilI see16:36
faenilyeah it's better now, thanks :)16:36
faenilso we have to see if the error in dmesg is because of collision16:37
DocScrutinizero/ highlight me if any further Q16:37
faenilok thanks :)16:37
faenilwe will get it working eventually, one day :D16:37
faenilI think that's a critical issue for Nemomobile's usability, together with the visible tearing16:38
vakkovmight help16:39
faenilvakkov, you think that could read battery info?16:39
vakkovno idea, i know it's used in nitdroid.. i dont even have n9/n95016:40
faeniloh but that's only the client, we have to see if there's BME server running :)16:40
faeniloh ok :) thanks ;)16:40
faenilStskeeps, ^16:40
faenilrcg, ^16:41
vakkovi need to make a raw image like the ones in nemo but not with nemo files.. if somebody can help..16:41
faenilI can't, sorry :(16:42
faenilthere was a tutorial16:42
faenil vakkov16:43
faenilthat could help :)16:44
vakkovactually it's this but i dont want the repos and so on .. i just want to pack several folders in a ext3/4 partition as a file for qemu16:46
*** niqt has quit IRC16:47
faenildon't know then,sorry16:48
DocScrutinizerfaenil: if you like I may have a look at syslog/dmesg16:52
faenilDocScrutinizer, but you should be using the modded kernel :)16:52
faenilDocScrutinizer, I haven't tried it yet :) started talking about the battery issue one hour ago, with rcg :)16:53
DocScrutinizerI'm not using any kernel regarding this offer, you need to provide a log16:53
faeniloh you meant you could give a look a the log :)16:54
DocScrutinizerps|grp bme16:54
faenilI don't have it sorry16:54
faenildon't have the n950 here16:54
faenilwith me16:54
DocScrutinizerwell, ping me if anything I might help16:55
DocScrutinizerno nemo system here though16:55
faenilok ;)16:55
faenilthanks :)16:55
vakkovnemo is using ofono, right?16:58
DocScrutinizerfaenil: actually you *might* consider buffering of last real readout in bq27x00.ko and only doing one real readout for sysfs reads every minute17:03
faenilyeah, that will come after :)17:05
DocScrutinizermight be a valid approach for values that simply can't change that fast, particularly capacity17:05
DocScrutinizerfor current_now, voltage etc you want recent real readings17:06
DocScrutinizerso there your buffering period is determined by max sample freq of chip, which is ~5s17:07
faenilI see17:10
DocScrutinizeranyway double-reading and comparing the read values seems a good concept here17:11
faenilaha :)17:11
DocScrutinizerpossibly best done in kernel driver17:11
*** faenil has quit IRC17:30
*** NIN101 has quit IRC17:55
*** jussi01 is now known as jussi18:04
*** NIN101 has joined #nemomobile19:03
*** Luarvic has joined #nemomobile19:05
*** Luarvic has quit IRC19:06
*** _ol_ has joined #nemomobile19:10
*** _ol_ is now known as [ol]19:10
*** [ol] has joined #nemomobile19:12
*** _ol has quit IRC19:16
*** vakkov has quit IRC19:17
*** bef0rd has joined #nemomobile19:25
*** M4rtinK2 has joined #nemomobile19:43
*** M4rtinK has quit IRC19:43
*** furikku has quit IRC20:20
*** NIN101 has quit IRC21:15
*** npm_ has joined #nemomobile21:51
*** npm has quit IRC21:53
*** himamura has quit IRC22:09
*** bef0rd has quit IRC22:42
*** cxl000 has quit IRC22:48
*** [ol] has quit IRC23:10
*** [ol] has joined #nemomobile23:17
*** parancibia has joined #nemomobile23:22
*** parancibia has quit IRC23:32
*** M4rtinK2 has quit IRC23:58

Generated by 2.9.2 by Marius Gedminas - find it at!