
| The Following 8 Users Say Thank You to javispedro For This Useful Post: | ||
| The Following User Says Thank You to nokiabot For This Useful Post: | ||

09-25-2011, 10:30 AM
joergrw
Member
Join Date: Jul 2010
Posts: 50
Thanked: 211 times
H-E-N9 USB hostmode enabler N9
I succeeded in a first step towards USB host mode: finding out about charger chip and operating it in boost mode -> stable 5V supply to USB receptacle
I'll copy the following from http://talk.maemo.org/showthread.php...68#post1094568 and continue the h-e-n topic here (if only for not completely hijacking that infodump thread ;-D )
It's well understood that there are still massive obstacles regarding loading of kernel modules and also regarding aegis introduced restrictions at large.
Some related links:
http://talk.maemo.org/showthread.php...339#post649339
http://talk.maemo.org/showthread.php?t=65232
Whatever, that's been my major application project, so here we go:
Code:
RM680-22-6_PR_RM680:~# i2cdetect -r 2
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-2 using read byte commands.
I will probe address range 0x03-0x77.
Continue? [Y/n]
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- UU --
10: UU -- -- -- -- -- -- -- -- UU -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: UU -- UU -- -- -- -- UU UU -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
50: -- -- -- -- -- 55 -- -- -- -- -- -- -- -- -- --
60: UU -- -- -- -- -- -- -- -- -- -- 6b -- -- -- --
70: -- -- -- -- -- -- -- --
RM680-22-6_PR_RM680:~# echo " · "UU". Probing was skipped, because this address is currently in use by a driver. This strongly suggests that
> there is a chip at this address.
> "
· UU. Probing was skipped, because this address is currently in use by a driver. This strongly suggests that
there is a chip at this address.
RM680-22-6_PR_RM680:~#
RM680-22-6_PR_RM680:~# i2cdump 2 0x6b
No size specified (using byte-data access)
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-2, address 0x6b, mode byte
Continue? [Y/n]
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 40 30 0a 51 09 2c 40 ff ff ff ff ff ff ff ff ff @0?Q?,@.........
[2011-09-23 17:29:10] <DocScrutinizer> candidate: bq24153A rev1.1
[2011-09-23 17:30:13] <DocScrutinizer> B4, B3:For I2C Address 6BH: 00--bq24151, 01–bq24150; 10–bq24153A; 11–NA.
[2011-09-23 17:32:19] <DocScrutinizer> 0x51=0101 0001= 010(vendor ID) | 10(bq24153A) | 001(001: Revision 1.1
[2011-09-23 17:33:45] <DocScrutinizer> Table 3. Status/Control Register (Read/Write)
[2011-09-23 17:33:45] <DocScrutinizer> Memory Location: 00, Reset State: x1xx 0xxx
[2011-09-23 17:34:01] <DocScrutinizer> Table 4. Control Register (Read/Write)
[2011-09-23 17:34:01] <DocScrutinizer> Memory Location: 01, Reset State: 0011 0000
[2011-09-23 17:34:14] <DocScrutinizer> Table 5. Control/Battery Voltage Register (Read/Write)
[2011-09-23 17:34:14] <DocScrutinizer> Memory Location: 02, Reset State: 0000 1010
[2011-09-23 17:34:28] <DocScrutinizer> Table 6. Vender/Part/Revision Register (Read only)
[2011-09-23 17:34:28] <DocScrutinizer> Memory Location: 03, Reset State: 0101 000x
[2011-09-23 17:34:43] <DocScrutinizer> Table 7. Battery Termination/Fast Charge Current Register (Read/Write)
[2011-09-23 17:34:43] <DocScrutinizer> Memory Location: 04, Reset State: 0000 0001
[2011-09-23 17:35:04] <DocScrutinizer> Table 8. Special Charger Voltage/Enable Pin Status Register
[2011-09-23 17:35:04] <DocScrutinizer> Memory location: 05, Reset state: 001X X100
[2011-09-23 17:36:03] <DocScrutinizer> reg0:is:40,doc:x1xx0xxx - match
[2011-09-23 17:36:36] <DocScrutinizer> reg1:is:30,doc:0011 0000 - match
[2011-09-23 17:37:12] <DocScrutinizer> reg2:is:0a,doc:0000 1010 - check
[2011-09-23 17:37:24] <DocScrutinizer> reg3: already checked
[2011-09-23 17:38:04] <DocScrutinizer> reg4:is:09,doc:0000 0001 - may match
[2011-09-23 17:38:46] <DocScrutinizer> reg5:is:2c,doc:001X X100 - seems to match
[2011-09-23 17:39:24] <DocScrutinizer> reg6:is:40,docoops
[2011-09-23 17:39:40] <DocScrutinizer> :-DD
[2011-09-23 17:39:43] <DocScrutinizer> Table 9. Safety Limit Register (READ/WRITE, Write only once after reset!)
[2011-09-23 17:39:43] <DocScrutinizer> Memory location: 06, Reset state: 01000000
[2011-09-23 17:39:46] <DocScrutinizer> check
[2011-09-23 17:40:08] <DocScrutinizer> WE HAVE A *WINNER*
charger chip in N950: i2cbus2, addr 0x6B, type BQ24153A http://www.ti.com/product/bq24153a
capable of powering VBUS with 5V@200mA (vboost mode)
according to reg6=40 we are locked down to 4200mV and 950mA max charge current
Code:
RM680-22-6_PR_RM680:~# i2cdump 2 0x55
No size specified (using byte-data access)
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-2, address 0x55, mode byte
Continue? [Y/n]
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 00 01 01 3f 31 e0 00 06 00 90 0b 0e 10 da ff ..???1?.?.?????.
10: ce ff 6b 00 e7 9f ff 7f 00 00 0a 00 0a 00 46 0a ?.k.??.?..?.?.F?
20: ca 0d 64 00 64 00 9c ff 0a 00 ff ff 18 fc 64 00 ??d.d.?.?...??d.
30: 00 00 50 fb 20 21 06 00 00 00 07 00 XX XX XX XX ..P? !?...?.XXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
RM680-22-6_PR_RM680:~#
also doesn't exactly look like a bq27200 dump :-S
dpkg -L bme
*candidate: /usr/lib/hwi/ic/bq27521.so
closest hit: http://www.ti.com/product/bq27520-g2 - pinout matches with N9 schematics
Quote:
RM680-22-6_PR_RM680:~# stop bme
Sep 24 13:52:51 (none) bme: terminating with exit status 0
RM680-22-6_PR_RM680:~# start bme
Sep 24 13:53:52 (none) bme: bme (May 19 2011 14:59:58) started, pid 5161
Sep 24 13:53:52 (none) bme: [bmeipc.c:bmeipc_open():356] unable to connect to server (sd=4): No such file or directory (2)
Sep 24 13:53:54 (none) bme: [tabby_get_battery_data_cmdline()] Fixed battery type: BL-4D
Sep 24 13:53:54 (none) bme: [tabby.c:tabby_get_battery_data_cmdline():775] Unknown battery type: 'BL-4D': Invalid argument (22)
Sep 24 13:53:54 (none) bme: Battery level OK for boot (4094 mv)
Sep 24 13:53:54 (none) bme: Stop and wait for upstart
Sep 24 13:53:54 (none) bme: Continue
RM680-22-6_PR_RM680:~/DL# ps|grep bme
606 root /usr/lib/hal/hald-addon-bme
5161 bme /usr/sbin/bme_RX-71 -u -l syslog -v 5 -c /usr/lib/hwi/hw/rx71.so
5164 root grep bme
RM680-22-6_PR_RM680:~/DL#
Achieved stable VBUS 5V at USB using:
Code:
RM680-22-6_PR_RM680:~# stop bme; sleep 3; i2cset -y -m 0x07 2 0x6b 0x01 0x05; while true; do sleep 5; i2cget -y 2 0x6b 0x00; i2cset -y -m 0x80 2 0x6b 0x00 0x80; done
funny syslog lines:
Sep 24 16:00:37 (none) kernel: [1135370.167449] twl5031_bcc twl5031_bcc: dcd failed
Sep 24 16:00:40 (none) kernel: [1135373.303527] g_file_storage gadget: File-backed Storage Gadget, version: 20 November 2008
Sep 24 16:00:40 (none) kernel: [1135373.303588] g_file_storage gadget: Number of LUNs=1 Number of buffers=16
(memstick attached, probably unrelated)
to be continued
Last edited by joergrw; 09-25-2011 at 10:48 AM.
The Following 26 Users Say Thank You to joergrw For This Useful Post:
acid, almehdi, cassio, claesbas, druid23, et3rnal, gordonshowers, hawaii, isaacdfp, jalyst, javispedro, kollin, martink, mece, mikecomputing, mohammad7410, ovk, pelago, ph5, qole, reffy, rlinfati, sandst1, timsamoff, vkvraju, wicket
#2
09-25-2011, 10:49 AM
kollin
Junior Member
Join Date: Feb 2011
Posts: 25
Thanked: 23 times
Re: H-E-N9 USB hostmode enabler N9
Quote:
Originally Posted by joergrw
I succeeded in a first step towards USB host mode: finding out about charger chip and operating it in boost mode -> stable 5V supply to USB receptacle[/COLOR]
Thank you, that actually provides a partial answer to my questions in this thread :
link
Last edited by kollin; 09-25-2011 at 10:57 AM.
The Following User Says Thank You to kollin For This Useful Post:
jalyst
#3
09-25-2011, 11:11 AM
joergrw
Member
Join Date: Jul 2010
Posts: 50
Thanked: 211 times
Re: H-E-N9 USB hostmode enabler N9
WANTED:
proper datasheet / user manual for RENO TWL5031 aka TPS65951 (or even twl5030/4030 tps65950) with register descriptions
(to save your time, this http://www.ti.com/lit/ds/symlink/tps65950.pdf has no proper register descriptions, it's mainly just about electrical and mechanical properties of the chip, not about actual usage, programming, etc. I'm looking for a file >>170 pages/2MB, probably)
The Following 2 Users Say Thank You to joergrw For This Useful Post:
jalyst, mikecomputing
#4
09-25-2011, 11:41 AM
gordonshowers
Junior Member
Join Date: Oct 2010
Posts: 1
Thanked: 4 times
Re: H-E-N9 USB hostmode enabler N9
Quote:
Originally Posted by joergrw
WANTED:
proper datasheet / user manual for RENO TWL5031 aka TPS65951 (or even twl5030/4030 tps65950) with register descriptions
(to save your time, this http://www.ti.com/lit/ds/symlink/tps65950.pdf has no proper register descriptions, it's mainly just about electrical and mechanical properties of the chip, not about actual usage, programming, etc. I'm looking for a file >>170 pages/2MB, probably)
Is this document any good? It mentions registers:
http://www.tij.co.jp/jp/lit/an/swca090/swca090.pdf
Or maybe this one?
http://www.ti.com/lit/ds/symlink/tps65951.pdf
The Following 4 Users Say Thank You to gordonshowers For This Useful Post:
jalyst, joergrw, mece, mikecomputing
#5
09-25-2011, 12:17 PM
joergrw
Member
Join Date: Jul 2010
Posts: 50
Thanked: 211 times
Re: H-E-N9 USB hostmode enabler N9
Quote:
Originally Posted by gordonshowers
Is this document any good? It mentions registers:
http://www.tij.co.jp/jp/lit/an/swca090/swca090.pdf
this one mentions the register names at least, but obviously doesn't explain a bit about how the registers are "working"
Quote:
Originally Posted by gordonshowers
Or maybe this one?
http://www.ti.com/lit/ds/symlink/tps65951.pdf
This one is the *51 variant of the useless tps65950.pdf 171p electrical and mech sheet I linked to as an example of what doesn't help.
here's a datasheet for another similar chip that shows what I'm looking for: http://www.ti.com/lit/ug/swcu067a/swcu067a.pdf (see "2.3 USB Register Descriptions")
many thanks for the help so far, and please don't hesitate to post new findings as well :-)
cheers
jOERG
The Following 2 Users Say Thank You to joergrw For This Useful Post:
jalyst, mece
#6
09-25-2011, 05:07 PM
ph5
Junior Member
Join Date: Feb 2010
Posts: 22
Thanked: 43 times
Re: H-E-N9 USB hostmode enabler N9
http://www.ti.com/lit/ug/swcu050g/swcu050g.pdf
The Following 6 Users Say Thank You to ph5 For This Useful Post:
jalyst, joergrw, martink, mece, mikecomputing, qole
#7
09-25-2011, 06:06 PM
shmerl
Senior Member
Join Date: Sep 2010
Posts: 645
Thanked: 399 times
Re: H-E-N9 USB hostmode enabler N9
Great to see some progress in this area! This is such a useful feature, I really wonder why couldn't Nokia implement it by default? Any why couldn't they put microUSB-A in there in the first place (like N8 has for example)?
Last edited by shmerl; 09-25-2011 at 06:29 PM.
The Following 2 Users Say Thank You to shmerl For This Useful Post:
jalyst, mikecomputing
#8
09-25-2011, 07:53 PM
joergrw
Member
Join Date: Jul 2010
Posts: 50
Thanked: 211 times
Re: H-E-N9 USB hostmode enabler N9
Quote:
Originally Posted by ph5
http://www.ti.com/lit/ug/swcu050g/swcu050g.pdf
ph5, you're incredible.
Many thanks :-D
/j
#9
10-01-2011, 09:28 PM
joergrw
Member
Join Date: Jul 2010
Posts: 50
Thanked: 211 times
Re: H-E-N9 USB hostmode enabler N9
Detected mayor hardware differences ¹) between N9 (according to schematics and deduction) vs N950 (according to deduction). Those hardware differences have direct impact on the way USB hostmode would work and render extensive tests on N950 relatively futile, as the results are not applicable to N9.
Quim, how's about some N9 for testing? (no nice display or anything needed, so some sorts of "broken" devices were completely sufficient, as long as core APE and charging and USB works [edit] preferably also working WLAN, for access via ssh :-) [/edit])
[edit2]
STILL WANTED: TPS65951 Technical Reference Manual (analog to http://www.ti.com/lit/ug/swcu050g/swcu050g.pdf TPS65950 version)
[/edit2]
cheers
jOERG
¹) http://www.tij.co.jp/jp/lit/an/swca090/swca090.pdf
Last edited by joergrw; 10-01-2011 at 09:46 PM.
The Following 2 Users Say Thank You to joergrw For This Useful Post:
isaacdfp, jalyst
#10
10-02-2011, 03:07 PM
jalyst
Senior Member
Join Date: Oct 2010
Posts: 130
Thanked: 27 times
Re: H-E-N9 USB hostmode enabler N9
Quote:
Originally Posted by shmerl
This is such a useful feature, I really wonder why couldn't Nokia implement it by default? Any why couldn't they put microUSB-A in there in the first place (like N8 has for example)?
Who knows, so many of their choices in the past 12mths have been an utter mystery.
Luckily we have people w/the skill-sets & willingness to help, & luckily Nokia's open to facilitating that.
Otherwise we'd be "up **** creek..."
Last edited by jalyst; 10-02-2011 at 03:12 PM.
| The Following User Says Thank You to juiceme For This Useful Post: | ||