yashsingh1/xdaforums huggingface dataset:
[Touch Dual, MDA Touch Plus ROM Development] paranoidpenguin:
Have you tried another sd card? First time I had the same problem, I tried another card and since then it works with every bootkit i've downloaded.
[Touch Dual, MDA Touch Plus ROM Development] joannerve:
Yes, three different sd cards. What bootkit works for you?
[Touch Dual, MDA Touch Plus ROM Development] hansie_k:
Nice work, i'm loving it ;

but....i cant type sms mesage..?

i cant chose who to sent it to, or type a mesage..

the keypad doesn't react...any idea?

i'm using a 16key touch dual

thx!
[Touch Dual, MDA Touch Plus ROM Development] paranoidpenguin:
At the moment I use the Bootkit 2302. Works like all the others.

Who large is your card? Is it sd or sdhc?
[Touch Dual, MDA Touch Plus ROM Development] BaCo:
Have you changed the keyboard layout in the default.txt to 16key?
[Touch Dual, MDA Touch Plus ROM Development] joannerve:
sd,1 gb. Formated fat32 and all files extracted to the root no in folders
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
OK, I don't know what you're doing, but you don't need to do what I think you're doing :)

On a previous post you said you've tried all sorts of bootkits and none worked. As I said on a previous post, if you don't tell what hard and soft you have we can't help much. First, what kind of niki do you have? is a niki100,200,300? is it a neon?

Second, wich radio do you have? Anything above 1.65 should work (some people have reported at other forums that they have screen orientation problems with anything less than a 1.71 radio).

Third, you don't need to make an ext2 or 3 filesystem on your sd. If you have different partitions on the sd, that may be the problem. You should have only a fat or fat32 partition (I'm using fat32) and with all the files from the latest bootkit (http://rapidshare.com/files/201724521/Bootkit-2302.rar) dumped right on \Storage Card\

Then run Haret, click run, and after waiting a bit it should work out of the box. If you change the mtype, it may boot (if you use 1723 or 1553 instead of what's on the default.txt) but you will be booting a Polaris or Kaiser kernel. Then the thing won't end up booting, or you'll have to keep pressed the power button to get it to boot. But you should really stick to the 1724 mtype if you want to make something else.

For last, if you really want to try it from a native partition, you should partition the sd (with fdisk from linux), then format the partition (mkfs.ext2 / mkfs.ext3), then mount the partition on some place on your PC, and dump everything from system.img there (cp -rfp), and modify the linuxrc script on the initrd.gz so it points to the correct partition on the sd. But that, if you don't know enough of linux, is not a recommended thing. And it may not even work (I don't know how are the last initrds exactly as I didn't need to modify them...)
[Touch Dual, MDA Touch Plus ROM Development] joannerve:
Niki100 with radio 1.65.29.22. Sometimes I need to delete the line \storage card \ in \storage card\initrd in default.txt because haret can't find, but it is in the root of sd . Deleted begin but nothing, or get freezed or waiting for sd or can't find data.img or others
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
Stupid question... do you have the SIM card inserted, with the pin entered (better if you disable the pin code) and no airplane mode? bluetooth shouldn't mind (at least for me). I really don't understand what happens with your nike, it's the same model as mine... Do you use english roms or is it in another language?
[Touch Dual, MDA Touch Plus ROM Development] joannerve:
Yes, sim card inserted and pin code disabled. Latest official spanish rom
[Touch Dual, MDA Touch Plus ROM Development] joannerve:
Now works, renamed storage card (renamed in spanish: tarjeta de almacenamiento) in default.txt.
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
(Sorry for posting in spanish)

Perfecto! No le encontraba ningun sentido al asunto, pero en cuanto he leido que tenias una rom en castellano he sabido cual era el problema,ya veo que lo has sacado tu solo al final, pero bueno, para la proxima, mientras sigas usando las roms en castellano tendras que seguir cambiandole el nombre a los proximos zips...
[Touch Dual, MDA Touch Plus ROM Development] joannerve:
Gracias por ayudarme a encontrar la solucion
[Touch Dual, MDA Touch Plus ROM Development] Boylen:
I've extracted the bootkit-2302.rar file to the root of the SD-card, but it stops after 'HaRET booting Linux'.

Changed 'storage card' to 'opslagkaart' (in dutch), but didn't help...anyone? What can be the issue?
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
Ok, mates, I have to anounce I won't be working more on Android, at least for a while, as my Nike has died, and doesn't even enter the bootloader after a radio update...

I will be pushing my last changes to the kernel to the git, in case somebody wants to keep on with the work...

Regards! Biktor
[Touch Dual, MDA Touch Plus ROM Development] ducamie:
oh man that sucks. :(
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
Believe me, it does. More when stop and think it hasn't even got three months... Will send it to repair and cross my fingers...

Anyway, my last changes on the kernel are on the git. It has bluetooth stuff ported, but with the gpios all wrong (don't expect it to work), but it's a start. If I get to repair the phone I'll keep on with this...
[Touch Dual, MDA Touch Plus ROM Development] trimakassi:
Maybe you can give some more info? Like what radio are you on, which device (nike/neon etc) and also which language is your device? You have to make sure to set it exactly right in default.txt: set initrd "\Storage Card\initrd.gz" if in English.

Aww man that sucks, hope to hear from you soon on this part of the forum. Would love to take it over straight away, but I still have some reading/learning to do...
[Touch Dual, MDA Touch Plus ROM Development] karmacop:
Weird Issue

Hey Guys

Good job so far on this!

Im having a weird issue. I copied the files over to my Nike today and fired up haret.exe. ow this is the first time ive tried this since late last year and its always failed before. Anyway to my surprise android booted up and i was able to play around with it. I realised the jeypad wasnt working, and afte looking in the default.txt i realised i needed to set the 16 button keymap. I wasnt sure how to exit out of android, so i just pulled the battery and then started the phone up again.

ANyway after this android no longer boots, it hangs at haret. Ive tried removing all the files and copying them over from scratch but no joy.

Any ideas anybody?
[Touch Dual, MDA Touch Plus ROM Development] smittysmitts:
Power Off

Well, sorry karmacop, cant help you with why it isnt workin.

But to power off, you jus have to hold in the powerbutton, as you would in WM.

You will get an option if u want to put the device in Silent Mode or Power off...

then you jus choose the obvious. ;)
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
You probably have a filesystem inconsistency on the sd card. Take it out from the phone and plug into a card reader on a windows pc. Check for errors on the sd card (using windows: my computer -> right click on the storage card > properties > hardware > check for errors > fix automatically) Then overwrite all the android files on the sd card with the ones from the rar archive. It should boot back again (it may take a while the first time)
[Touch Dual, MDA Touch Plus ROM Development] excogitation:
biktor_gj do you already know if you will get your Nike fixed (hopefully for free)?

Also why did you try to flash a MSM7201A radio on a MSM7200 device - although that's generally known to brick your device?
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
I still don't know a thing about my nike... it went to repair on friday with a little trick to vodafone. If al goes well I will have it back within 20 days, and no cost (or 9€) for the repair... Until then I'm stucked with a sonyericsson g502... back to the stone age...

The reason why I flashed that radio is simple: it works on Kaisers, so I supposed it should have worked on the nike (kaiser radios work on nikes though...). Indeed it flashed allright. The problem is it seems it wiped the hardspl, and the only thing it did after that was a red light when power cord was connected and no battery inserted...
[Touch Dual, MDA Touch Plus ROM Development] excogitation:
You'll live through it (g502 ;-).

Afair it doesn't work to flash the G1 radio to a Kaiser - could you post your source?
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
I was searching for the bluetooth gpios on the nike (by the way, could anybody dump them for me?) and I asked on the kaiser forum if anybody had an idea on how to make haret dump the gpio's correctly, and speaking to poly_poly_man he showed me a dump on the gpios from his kaiser, using the htc g1 radio. The data he got with that radio was completely different from what I was getting with mine, and that's where I though "if it works on kaiser, why shouldn't it work on the nike?" biiig mistake. (http://xdaforums.com/showthread.php?p=3381714#post3381714)
[Touch Dual, MDA Touch Plus ROM Development] joannerve:
Last android build (1-03-2009) works on nike. An improvement , you can send sms througth chompsms (preinstalled sms app. works closing the slide, so screen rotate , but you can´t type. You can send and receive calls and you can listen but speakerphone don´t works so other people can´t listen you. Can´t see videos only listen. Bad screen calibration, only works with 320x480, so it´s blurry or 240x320 (too big on nike). Market works and you can download without problems. And finally how I close open applications? I can´t find options to close o switch between app. (specially on browser after browse the net)
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
Open default.txt and replace slide_override=0 with slide_override=1.
[Touch Dual, MDA Touch Plus ROM Development] excogitation:
Do you just need the gpio's to make bluetooth work?

On Polaris turning bluetooth on/off looks like this:

* bluetooth on

in2-3(227)=1
in4-6(294)=1
in2-1(225)=0
in2-1(225)=1
in2-2(226)=0
in2-1(225)=0
in2-2(226)=1
in2-3(227)=0 in2-3(227)=1 +22x more alternating 227
in2-2(226)=0 in2-2(226)=1 +6x more alternating 226
in2-3(227)=0
in2-3(227)=1

* bluetooth off

in4-6(294)=0
in2-1(225)=1
in2-3(227)=0

Can you talk me through it? (I have the build environment ready and working)

Just out of curiosity - was your device security unlocked?
[Touch Dual, MDA Touch Plus ROM Development] joannerve:
This is for sms or skin calibration? Because it don't work in both. Tried these but no...Screen don't rotate but I can't type to send sms. Nothing happen.
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
Yes, the device was security unlocked. And even if I couldn't wipe the bootloader on purpose (except running sspl from within windows mobile) it broke it all...)

About the bluetooth, I think it has some spurious data over there, but the first thing you should look at is my nike board files on the git:

board-htcnike.c

board-htcnike-rfkill.c

From your post, I read your changes like this:

On

227 -> 1 -> 0 -> 0 -> 1
294 -> 1
225 -> 0 -> 1 -> 0
226 -> 1 -> 0

Off
294 -> 0
225 -> 1
227 -> 0

I can't tell you exactly how to patch it to make it work (you will need a good bunch of builds until you see if it works or if it doesn't and get why it doesn't work)

As a first guess, I would say your pin #294 is what really powers up the device, so I would start by patching on

board-htcnike-rfkill.c->

case RFKILL_STATE_ON:
htcnike_gpio_write(NULL, HTCNIKE_GPIO_BT_32K_EN, 1);
udelay(10);
gpio_configure(101, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_HIGH);
break;
case RFKILL_STATE_OFF:
gpio_configure(101, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW);
htcnike_gpio_write(NULL, HTCNIKE_GPIO_BT_32K_EN, 0);
break;

replacing HTCNILE_GPIO_BT_32K_EN with the 294 (or patch the board header so it points to it).

The gpio_configure (101,...) seems like is for the transfers, so I guess one of the other two gpio base remaining (225, 227) should be for that, and the other one to blink up the led (the led could be 227, as it goes alternating between 0 and 1, and turns back to 0 on disable and doesn't do more). But you should really watch gpios for a longer time to see if they still alternate. Maybe other pins from the bluetooth on are for the actual data transfers, don't know... but it's a start :) if you don't understand a thing just let me know and I'll try to explain a bit better... (english is not my natural language :)
[Touch Dual, MDA Touch Plus ROM Development] excogitation:
Afaict the led's aren't controlled through gpio's on Polaris (no changes whatsoever when I make longer traces and have a led blinking - unless they're controlled through a shared (and spamming) gpio).

Maybe we can talk on htc-linux or IM?

sample bluetooth trace
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
htc-linux? on irc? it's been a long long time... :)

No problem on meeting there anyway ;)

Ok, how could I explain this better...

On the HTC Nike, and on the Kaiser, you have two sets of gpio's:

Directly accessed: 0 -> 105

Shadowed: 128 -> 256 (more or less, it depends on the board)

To get access to the shadowed gpios, you need to enable the CPLD on boot. HTCPolaris code doesn't include the cpld handling, but both Nike and Kaiser do. The file is board-XXXX-gpio.c, and you MUST enable this before attempting to make bluetooth work (as your traces show your bluetooth is connected to pins on the cpld). On the htcnike at least, this is what gives you access to the upper leds too.

If you just want to try, you can patch nike files wich already have the cpld running, and change your default.txt so it points to mtype 1724. Then patch the board-htcnike-rfkill.c to test the gpios you found and make it boot. If you find the right pins, the kernel should shut down bluetooth when booting.

Another problem you might find is that maybe your system.img doesn't have the firmware file loaded (i think it's name is brf6300.bin or something like that), maybe you have to copy this file from an android dump from the g1...

On the file board-htcnike-keypad.c, at line 74 you have a commented function you can use to look for the leds or something else if you need to.

Anyway, I would start by patching board-htcnike-rfkill.c with your gpios, switch to 1724 mtype, and see what it does. As you don't have a keyboard, you can't see the kernel log (dmesg), you can also do this:

Boot linux, after it has booted, press the reset button on the phone, and let it boot to windows mobile. When it has booted, connect to usb and launch haret. On haret, press "listen to network connection", open a cmd on your Windows box and telnet to 169.254.2.1 9999. You will connect to haret console. There, type the following command:

pwf dmesg.txt 0xe0000 0x20000

This should make a file on the storage card with all the messages from the kernel boot, so you can see if rfkill has crashed, and why
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
This disables the slide, so you should be able to type in any situation without the screen rotation.

Stupid question... did you tap on the text box to start writing?
[Touch Dual, MDA Touch Plus ROM Development] joannerve:
Yes,no option.Only with slide activated to rotate and closed. Maybe only works on kaiser, kateral keypad you know
[Touch Dual, MDA Touch Plus ROM Development] excogitation:
Interesting experience.

Well it boots - to Safe-Mode (and as expected the keys don't do what they're supposed to - not even the reset button works!!) .

The blue led is blinking ...
[Touch Dual, MDA Touch Plus ROM Development] cunter:
How did you manage to get this work? Could you please upload a bootkit?
[Touch Dual, MDA Touch Plus ROM Development] ducamie:
arghh now we've lost jerpelea too.

any news on your device, biktor?
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
Jerpelea went to the X1 some time ago ;)

No news on my nike, I guess it just arrived to france (European htcs usually go there for servicing...)
[Touch Dual, MDA Touch Plus ROM Development] Liquid-Silver:
Nike bluetooth GPIOS

Here's a tracing of me turning bluetooth on then off on a NIKI100 16key.

I stopped watching GPIOS 226 and 227 but they alternate on and off after turning on the bluetooth. It could be a 32khz clk or something or even the data signalling wires.

010.296 GPIOS out3: out3-8(104)=1

010.296 GPIOS in3: in3-8(264)=1

010.386 GPIOS in2: in2-1(225)=0

010.389 GPIOS in2: in2-1(225)=1

010.391 GPIOS in2: in2-1(225)=0

010.578 GPIOS in2: in2-1(225)=1

010.583 GPIOS in2: in2-1(225)=0

023.081 GPIOS out3: out3-8(104)=0

023.081 GPIOS in3: in3-8(264)=0

023.092 GPIOS in2: in2-1(225)=1

biktor_gj are you sure Haret watches the CPLD registers?

I think I know some of the registers for the CPLD, Group B (block2) bits 0-2 control the led's and I think bit 3 is the bluetooth 32k clock.
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
THAT is helping :) Looots of thanks :) btw, how did you get this info? I haven't been able to take this from haret...

I think you may be right in almost everything you say :) Now I only need my nike to test :(

BTW bluetooth has these:

HTCNIKE_GPIO_BT_32K_EN

HTCNIKE_GPIO_BT_CLOCK32K

For the clock, one enables the clock, the other seems to be the clock itself. For the rest, still some pins missing. Could you trace the bluetooth switch ON, then switch OFF, and then a data transfer to another phone? that would really be good...

I think it's a total of 8 pins:

RX

TX

CTS

RTS

ENABLE

CLK_EN

CLK

+the led, wich I found on #145 but may be mapped differently from windows mobile, or maybe my traces aren't all that good and I'm enabling the bluetooth while I think Im enabling just the led...

I think 104 and 264 could be the enable pins (chip+clk),

225,226,227 could be cts,rx and tx or something like that

but we're still missing some...

EDIT: Forgot to say, if haret didn't check for the shadowed gpios (cpld) you wouldn't see pins above 128, so yes, it traces them too :)
[Touch Dual, MDA Touch Plus ROM Development] Liquid-Silver:
It's getting late here, so I'll just dump this info now and I promise I'll put more on the wiki later.

The CPLD is accessed at virtual addres 0xbd000000

This is turning bluetooth on:

001.251 0b6840c4: e1c230b2(strh) # bd000002 =0000fff7

007.004 781e9278: e1d230b2(ldrh) # bd000002==000000f7

007.004 781e9280: e1c230b2(strh) # bd000002 =000000ff

007.044 781e9298: e1d400b6(ldrh) # bd000006==000000f4

007.044 781e92ac: e1c400b6(strh) # bd000006 =000000f4

008.470 781e933c: e1d230b2(ldrh) # bd000002==0000ffff

008.470 781e9348: e1c230b2(strh) # bd000002 =0000fff7

008.519 781e9278: e1d230b2(ldrh) # bd000002==0000fff7

008.519 781e9280: e1c230b2(strh) # bd000002 =0000ffff

008.540 781e9298: e1d400b6(ldrh) # bd000006==0000fff4

008.540 781e92ac: e1c400b6(strh) # bd000006 =0000fff4

009.345 0b6842bc: e1d130b4(ldrh) # bd000004==000000f0

009.345 0b6842c4: e1c130b4(strh) # bd000004 =000000f0

009.345 0b683fd8: 11d130b4(ldrh) # bd000004==000000f0

009.345 0b683fe4: 11c130b4(strh) # bd000004 =000000f1

009.938 IRQS IRQ0: M2A_1(1)=1

009.938 IRQS IRQ0: M2A_2(2)=1

011.256 0b665c38: e1de30bc(ldrh) # bd00000c==0000fff1

011.256 0b6653c4: e1d330bc(ldrh) # bd00000c==0000fff1

011.256 0b665c38: e1de30bc(ldrh) # bd00000c==0000fff1

and this is turning bluetooth off:

009.037 0b6840bc: e1d230b2(ldrh) # bd000002==0000ffff

009.037 0b6840c4: e1c230b2(strh) # bd000002 =0000ffff

009.651 781e933c: e1d230b2(ldrh) # bd000002==0000ffff

009.651 781e9348: e1c230b2(strh) # bd000002 =0000fff7

009.718 0b6842bc: e1d130b4(ldrh) # bd000004==0000fff1

009.718 0b6842c4: e1c130b4(strh) # bd000004 =0000fff0

010.073 IRQS IRQ0: M2A_2(2)=1

017.451 IRQS IRQ0: M2A_1(1)=1

017.451 IRQS IRQ0: M2A_2(2)=1

017.451 IRQS IRQ0: M2A_2(2)=1

019.042 0b665c38: e1de30bc(ldrh) # bd00000c==0000fff1

019.042 0b6653c4: e1d330bc(ldrh) # bd00000c==0000fff1

019.042 0b665c38: e1de30bc(ldrh) # bd00000c==0000fff1

0xbd000002 is the CPLD group B register -bits 0-2 are the led control bit bit 3 is the bluetooth 32k clock.

0xbd000004 is the CPLD group C register bit 0 is the bluetooth enable

0xbd000000 is a virtual address the real address is 0x98000000

0xbd00000c bit 0 is a charging bit I think.

I think on Nike only the first 4 bits of each CPLD group are really used.

I will tell you how to capture this information tomorrow, It's a bit involved.
[Touch Dual, MDA Touch Plus ROM Development] Jonesyuk225:
Hi Guys, brilliant developments, i put it on my Touch Dual NIKI100 and it works first time. The one problem i do have is the mic isnt working so when i call people they cannot hear me, it this stll an issue in the latest release and if not where can i get it?

Thanks
[Touch Dual, MDA Touch Plus ROM Development] biktor_gj:
I haven't fixed that yet. Dzo gave some instructions on how to find the address where the data for mic activation is, but as I don't have my nike I can't get that data. If anyone wants to check it out I can post that info there. I started with it, but didn't understand much, apart from some at commands...

LiquidSilver, whenever you have some time, I'd really like to know how you got all that on the nike...

Regards!
[Touch Dual, MDA Touch Plus ROM Development] Liquid-Silver:
Haret incorrecly reports the gpio pin numbers for example

010.296 GPIOS out3: out3-8(104)=1

010.296 GPIOS in3: in3-8(264)=1

are the same pin. Haret thinks every bit from the base of an address is a gpio pin. Thus out3-8 is (3*32) +8 = 104. This is not the mapping but you can find the mapping in gpio.c in the android source. For the record out3-8 is gpio pin 76.

Haret GPIO tracing is only tracing the MSM7200 gpios. The CPLD gpios have to be traced by watching accesses to address 0xbd000000 - 0xbd000014.

Android labels the first CPLD gpio as gpio 128. The cpld gpio numbers are linearly mapped to the bits in the address. Thus 0xbd000002 is gpio 136.

The haret documentation details how to get haret running and make traces. I used the package in the obtaining haretconsole section http://www.handhelds.org/moin/moin.cgi/HaRET_20Documentationto connect to haret.

So here is (hopefully) all the information you should need.

RX - 45

TX - 46

CTS - 44

RTS - 43

ENABLE - 141

CLK_EN - 140

CLK - 76

I've had a look into how to enable the mic for the nike. It seems most mic control is done via signalling on the shared memory interface. The mic vreg may need to be enabled but as android doesn't do that, I think looking at the shared memory interface is the way to go.

Maybe we need to mess with the rpc_voc_codec_type in here http://android.git.kernel.org/?p=kernel/msm.git;a=blob;f=arch/arm/mach-msm/qdsp5/audmgr.h;h=69f4e05213e454f361b323f7d9da4e4e005080af;hb=HEAD

The other thing is the gain setting used for the mic might be wrong. I haven't found out to change that on android yet.