yashsingh1/xdaforums huggingface dataset:
[Windows Mobile Software Development] UMH:
Hi flywhc,

after searching the forum, I found those files too.

Anyway, it took me some time, but I've managed to extract all (I hope so) of the widcomm/broadcom bluetooth stack and the fm radio related files from the ROM.

Please look inside the attachment. (Now it's uploaded)

I agree with you, that access to the widcomm/broadcom bluetooth SDK documentation (BCM1200-BTEM - Bluetooth Communication Software for Mobile Phones http://www.broadcom.com/products/Bluetooth/Bluetooth-RF-Silicon-and-Software-Solutions/BCM1200-BTEM) would make it a lot easier to implement TMC support for the rhodium.

Regards, UMH
[Windows Mobile Software Development] mike2nl:
BCM4329

I have downloaded the SDK from Boradcom, but i have

seen nothing in the files about the RDS and/or TMS

functions in the source. Has anyone found something?

About the FM functions. I have seen in the chip diagram

a FM transmit function. A direct conversion radio. This

likes on a service named 'push talk'. Is this possible?
[Windows Mobile Software Development] denis231:
Eten X650 support

Hi flywhc,

I spent a little time reading posts and this project of yours is really excellent.

My device is a Eten Glofiish x650. At first I was glad to see it was fully loaded (vga screen, gps, fm transmitter and receiver...). But then I discovered that Rds and TMC support, even if mentionned on all technical specs, where only a joke... til now.

In first updated post you said someone had to ask about Eten M800 and be willing to test it. As I think x650 might share same radio hardware, do you think I could contribute in any way to get RDS radio on it ?

Please let me know.
[Windows Mobile Software Development] flywhc:
Thank you all for help.

Unfortunately we don't have any progress on HTC Rhodium.

BeamRider, who made TMC driver for Samsung Omnia, suggested me modifying the driver to find where parse raw RDS data, such as add more logging.

The hope is somebody like smb_gaiden has this device and also has full skillset to do the investigation.

We still don't know the hardware details. We won't have any chances if the hardware does all RDS parsing.

Can you post FM application and related drivers please?

You can help a lot more if you are VC++ developer and know ARM and IDA pro.
[Windows Mobile Software Development] MurdockTheOne:
To bad i can,t help don't have the program skills.

I hope it works soon if there is anyting i can do i will help with my rhodium
[Windows Mobile Software Development] ramy2:
Hi,

Maybe this might help.

Not sure if it is ok to post links to other threads here. If it is not allowed let me know and i will delete this post.

Hardware details:

The phone: http://forum.ppcgeeks.com/attachment.php?attachmentid=43162&d=1253841346

Taken from: http://forum.ppcgeeks.com/showthread.php?t=78574&page=7

This guy says he has the FM radio working. (taken from a quick read)

http://wiki.xda-developers.com/index.php?pagename=HTC_Rhodium/FM_Radio

If i am not mistaken it only seems to work on gsm phones and not on the worldphone Rhod400 or 500

I have the cooked in FM rom related files if you need.

I am also willing to test if you need me to, I have the worldphone edition (PRO 2, RHOD500). I am not a programmer tho...

Cheers,

Ramy
[Windows Mobile Software Development] mike2nl:
I can help with testing too. I have no coding experience

for wm devices. Only for the industrial automation:

(pascal, ISL, ladder, AB, ST, ansi-c, C#, C++, java, XML, OPC, AU)

PM me:

If you need files

If you need detailed test reports

If you need files from the ASIA rom

If you need ..........
[Windows Mobile Software Development] ramy2:
HI,

All your apps work and give me a succeseded msg. The only problem i have so far is that they do not lock ion to a radio station, It just keeps scanning.

Could my problem be port related ?

The GPS on my device is on port com4. IF i don't set my gps apps to this port they don't locate me. Maybe i would need to set a port for the FM scanner/tuner to lock into a station?

Any thoughts, or does the communication port have nothing to do with locking into a radio station?

And my FMS.dll driver does not whant to load. Anyone one know how to force start a driver?

thks,

Ramy
[Windows Mobile Software Development] smb_gaiden:
Just to chime in, I had to give this up as I believe I went as far as it is possible for me to go given my constraints. I do not have IDA pro, so unable to dive any deeper than the end of the trail that I got to in my two approaches.
[Windows Mobile Software Development] midnitefreakin:
@ ALL

will this radio work on my ASUS P527?????
[Windows Mobile Software Development] UMH:
Hi flywhc,

I've found some information about the bcm4325 over at PPCGeeks forum. Maybe you can get in touch with the person who have the documentation and continue the R&D for your driver for the Rhodium.

http://forum.ppcgeeks.com/showpost.php?&p=1245421&postcount=135

Hope it helps.

Regards, UMH
[Windows Mobile Software Development] MurdockTheOne:
Flywhc,

How is it going are you leaving us :)
[Windows Mobile Software Development] flywhc:
Sorry guys I don't have any progress.

It is frustrating experience that only read assembly code and guess what it does without real device.

TP2 doesn't provide friendly device driver to us so that we have to write a new device driver and replace the original one. This project is too big for me especially without real device.
[Windows Mobile Software Development] DaveShaw:
Just realised I have BT on my work laptop (major face palm), I am getting it all connected and installing the SDK's. I'll see what I can do.

Once I get stuff running expect to hear from me again ;).

Dave
[Windows Mobile Software Development] DJayRage:
I know I may be beating on a dead horse, but I would gladly pay if you could somehow get this to work on the Tilt 2.

Thanks..

By the way I can get my hands on IDA Pro from one of my teachers at school (I'm going to school for I.T.) so if you can guide me on how to use the app and what you need I can try and help.
[Windows Mobile Software Development] DaveShaw:
It's a hard nut to crack. I keep poking at it when I can.

IDA Pro can be purchased from http://hexrays.com

Dave
[Windows Mobile Software Development] DJayRage:
Thanks Dave, I am able to use that app for free at my school, but I don't even know where to start.

TMC would be cool on my device, even though in Chicago there is pretty much traffic jams everywhere at any given time.
[Windows Mobile Software Development] ATomCZ:
It's any chance that this will be work on great HTC HD2 in the near future?
[Windows Mobile Software Development] flywhc:
Can you find what chipset is used on HD2?

Can you extract files related to FM radio and upload here?
[Windows Mobile Software Development] casouzaj:
Please, support the Acer M900 too

Hi, flywhc

Would it be possible for you to support Acer Tempo M900 as well? Its CPU is Samsung S3C6410XL-54. You see, I have attached the exe and two dll's I could find bearing characters "fm". There are lots of png files too, but I suppose they are simply meant for the various application buttons. Please, let me know if you them too.

Thanks, anyway.

Cheers!

Carlos
[Windows Mobile Software Development] RonPenguin:
This are the files I found in de windows folder from the HD2.

RonV
[Windows Mobile Software Development] MurdockTheOne:
There is now windows 6.5 in dutch shell i update of wait maybay tmc don't work at al on 6.5?

I read there is now a radio on it in de rom
[Windows Mobile Software Development] flywhc:
Good news or bad news?

AcerM900 has same FM driver as Glofish M800

HTC HD2 has same FM driver as Rhodium.

I feel that M900 and M800 are easier to be cracked because they export a lot of functions related to RDS maybe even TMC -- again, if somebody has this device and VC++ and IDA pro with good C++ and ARM skills.

WM OS doesn't support FM Tuner at all so it is not relevant.

I hope WM7 will support FM tuner so we don't have to do this reverse engineering.

I am using HTC Raphael with WM6.5, which works with FM driver without any problem.
[Windows Mobile Software Development] beemerTPPC:
I think those are good news: With more devices supporting the Broadcomm chipset, there are more chances that a user could have the necessary skills to help you!

I don't know why HTC is going to Broadcomm in its latest models, specifically why it is not using the Microsoft bluetooth stack wich is very good since WM6.0
[Windows Mobile Software Development] gongoscho:
HTC HD2

@beemer: can you develop a test hyperGPS app for HTC HD2 (leo) ?

grEEtZ,

gongoscho
[Windows Mobile Software Development] beemerTPPC:
No, HyperGPS is based on FM API. So I need flywhc to develop a leo compatible FM Api to adapt HyperGPS.
[Windows Mobile Software Development] ATomCZ:
I have HD2 now. Bud somebody already send you files realated to FM radio. It's OK? Do you need some else files? Its any chance that TMC will be work?
[Windows Mobile Software Development] mcflaytasche:
What do I need for this?

I've Eten M800.
[Windows Mobile Software Development] gongoscho:
Oh, ok. Sorry for the mistake.

grEEtZ,

gongoscho
[Windows Mobile Software Development] flywhc:
smb_gaiden and DaveShaw have worked hard on TP2, which has same FM hardware with HD2.

We still cannot find a way to get raw RDS data. It seems it has at least two layers of FM driver and use a message queue to communicate. This hides implementation details we need.

I guess we need "insider" to get the way to communicate with FM hardware or low level driver.

Do you have VC++2008 (not express or free edition) + WM2006 SDK? Do you have experience in debugging VC++ code? Also IDA pro may be necessary.
[Windows Mobile Software Development] MacNett1:
hope, work on HTC TP2 Rhodium will continue

donation done (Christoph) - hope, the development of htc rhodium-driver will continue (with success)....
[Windows Mobile Software Development] crazydogs:
is there any possibility to get TMC and TMCplus Data with my Diamond I? Any workaround?
[Windows Mobile Software Development] flywhc:
Thank MacNett1 and Markus for donations.

we have to find a new way to crack the nut.

Current driver supports HTC Diamond and Diamond 2. what is Diamond I?
[Windows Mobile Software Development] kolomparrudi:
TMC data is valid

The decoded TMC data is confirmed. So we can say, HTC gm radio has RDS-TMC support!
[Windows Mobile Software Development] NLS:
great!

so we are "going" somewhere right?
[Windows Mobile Software Development] auxaux:
Great research!

Great job being done here! Let's totally sqeeze out the Radio functionality! Donated 10Pound to support the project!

64E06844V22443134
[Windows Mobile Software Development] flywhc:
iseeka, thanks for that hardware info. Before we are blocked somewhere I retain attempting to operate hardware without FMS driver.

It maybe necessary if I still cannot find the way to control volume and route the audio line.

I feel sorry for those cannot hear radio or get RDS data.

I am writing a supported devices list on the page 1.

If your device is confirmed, I guess there is something wrong with ROM version, or maybe some silly mistakes such as forgot plugin earphone or simply you are in an area that have very poor signal - RDS needs stronger signal since the carrier is closer to boundary. Hard reset your device, standing in outdoor open field may also help.

Maybe you can try ask other people also use same ROM as yours, to test xFMRadio.

This may figure out if it is a ROM problem.

NLS, Yes we are going somewhere (good)!

kolomparrudi decoded TMC

beemerTPPC wrote a virtual COM port driver to mix GPS and RDS signal and feed to navigation software and he is happy to port for FMS API.

I will contribute my FMS API wrapper this weekend.

Not far to our destination.

we can build a team to make this dream become true now.

This project has two directions:

1. have a TMC driver for navigation system

2. have a powerful FM radio player

I thought the second was easier but seems we can do the first one first because more people is interested.

The progress is much better than my expectation.

Thank auxaux for buying a few cup of tea to me! That covers my in car FM transmitter (it is pity cannot find a professional one support RDS :D).
[Windows Mobile Software Development] paalkr:
Hi!

In Norway we have a free and not encrypted TMC provider. If I can use this service to log any usable information to help the development of a working TMC solution for our beloved :) Windows Mobile devices, i would be delighted.

So far a lot of the posts in this thread has been focusing on finding a working solution to the TMC problem. I would like to state that there is a big need for a better FM Radio application as well, specially with support for AF (Alternative frequencies), PS (Name of channel) and RT (Radio text).

I live in a area whre the AF is of speciall interst as some of the most popular FM stations change frequencis many times over very short distance (as many as 5-8 times when traveling only 50 kilometers).

Hopfully a documented API will make it possible for many developers to make all sorts of funny and usable Radio applications.

Regards,

PK
[Windows Mobile Software Development] SaBo:
Yes, but TMC events are beeing sent as POI to TomTom, so no rerouting whatsoever possible.

Only TMC-POI with additional data shown in map.

Not very useful.

Sascha
[Windows Mobile Software Development] kaefert:
omg, thats really useless if its that way, why do people even bother with such stuff, its not like TomTom is the greatest navigation system on the market.

I think it would make much more sense to concentrate on feeding Navigation systems with TMC data that understand it as such and can use it for calculating routes.
[Windows Mobile Software Development] jackleung:
Is anybody knows if this TMC will work in United States? I tried to google my answer. But the answer doesn't seem clear to me and it's seems it only work w/ XM Radio. Can anyone clarify this?
[Windows Mobile Software Development] mr.jaguar:
if the GPS program you have supports TMC and you have a TMC device, it will work. there are several companies that transmit TMC, clearchannel transmits it concurrently with all their broadcasting.
[Windows Mobile Software Development] cr2:
hi! is the FMS C api documented somewhere ? i'd like to add some functions to the

haret linux tool.

The source should be GPL compatible.
[Windows Mobile Software Development] flywhc:
I uploaded API with source code.

Some of functions related to volume and stereo mode are not working.

I am pretty sure HTC FM Radio use them but don't know how they work.

Maybe they are impacted by HTC volume control?

FM_SetVolume function may be with aruments (FMContext fmContextX, short nVol, BYTE cchFlag)

FM_RssiSearchLevel has a strange parameter that low 24 bits are always 0. I don't know what data type can represent it.

The first parameter of FM_Create is unknown or useless. :(

To process raw RDS data, you will need to implement an algorithm to identify most repeat word, which is PI. Should consider defective data group, which is not started with PI and offset byte is invalid.
[Windows Mobile Software Development] iseeka:
http://khason.net/blog/reading-and-decoding-rds-radio-data-system-in-c/
[Windows Mobile Software Development] iseeka:
http://www.modaco.com/content/i9x0-omnia-http-omnia-modaco-com/273982/tmc/

they are making the same for omnia (i thinks it uses different chip) same approach

they succed with virtual com, igo detected it

no autotune yet but it seems to work or nearly does

maybe they can help
[Windows Mobile Software Development] johnpatcher:
I know it might sound ridiculous, but have anybody ever tried to contact HTC concerning the api? It might be in their interest to get TMC working, as it makes the device even more powerful.
[Windows Mobile Software Development] kolomparrudi:
TMC

The main reason for the missing TMC feature is licensing issue. HTC should have to pay license for GNS company if he provides TMC or an API for RAW RDS.
[Windows Mobile Software Development] adempozhari:
hope so...
[Windows Mobile Software Development] johnpatcher:
Therefore openTMC is the way to go :).

Does this mean that I could use my charging cable as antenna for RDS-TMC? This would be really great!
[Windows Mobile Software Development] kolomparrudi:
re:

I tested it:

- without cable RSSI = 5

- with usb charger RSSI = 5

- with data cable RSSI = 12

- with headset RSSI = 37

So the charger is not working, because it's shielded.
[Windows Mobile Software Development] johnpatcher:
Is this enough in order to retrieve RDS information?

Just another question: Is TMCPro a feature of the driver, or of the navigation software. So would a generic tmc driver also be able to handle tmc pro data (means the data is decoded by the software itself), or would it be the work of the driver to decode the tmc-pro data?
[Windows Mobile Software Development] flywhc:
I suspect usb or power supply charger cable only has standard 4 even 2 wires inside, where HTC ExtUSB has much more wires inside. The device uses ExtUSB analog lines for earphone for antenna, rather than Vcc or G line.

Somebody used ExtUSB to 3.5mm adapter successfully received radio signal may prove this.

That means we have to use a special ExtUSB cable for charging in order to receive FM program at same time.
[Windows Mobile Software Development] crazydogs:
first version of HTC-Diamond.

How can I use the new driver?
[Windows Mobile Software Development] flywhc:
I think many diamond user are using TMC with this driver.

You may try test apps on the first post in this thread, set verbose to 4, see if raw RDS is received. Or try Power Radio to see if you can receive RDS text etc.

try somewhere has strong FM RDS signal, compare with other RDS device such your in car stereo, use headset not power supply.

Hope it helps.
[Windows Mobile Software Development] boiacchi:
m900

Hi guys

This is my first post.

Currently i am testing tree devices in order to decide which one to keep: Mio A701, Xperia X1 and Acer M900.

I'm really glad for what you have done for the hyper gps software, that is working perfectly on the X1, resulting in better performances even compared to the TMC hardware antenna of A701!!

I've tested the same software on M900 and it seems working till i launch an hardware search in igo8, then the program chushes.

Unfortunately i don't have any knowledge of software programming, but i'm willing to do whatever needed to help you to make hyper gps work on M900, just tell me.

Have you all a nice day.
[Windows Mobile Software Development] flywhc:
This job needs someone has this device with good ARM and VC++ experience.

So you can help me find "someone"

or find me a device;

or find programming document/SDK that provide Raw RDS data from manufacture
[Windows Mobile Software Development] gauner1986:
I can assist you at least with files and my device from remote. I have basic C++ knowledge and i got just into learning ARMASM.
[Windows Mobile Software Development] DaveShaw:
All the BT Files from my Rhodium:

http://taeguk.co.uk/xda/BT Files.zip

Ta

Dave
[Windows Mobile Software Development] gauner1986:
I'll upload the LEO files... Just after i found out how to copy the "in use" files.. Because for now i'm getting access denied.
[Windows Mobile Software Development] dussel:
Here the files from LEO. Thanks Steve0007
[Windows Mobile Software Development] flywhc:
Unicode string "WIDCOMM_WM_PROF_CHANGE_EVENT" is used in FmRadioSDK.dll. it must be also used in at least one other DLL.

I tried to use UEDIT32 to search in the folder but couldn't.

any suggestions?
[Windows Mobile Software Development] 6Fg8:
Its in these (Leo) dlls/offsets:

BtCeProfiles.dll 02F680
BtCeSendTo.dll 00F840
BtManagementIf.dll 019C00, 01BC50
BtSdkCE50.dll 021B90

I used XVI32 to search (link). Search for "w.i.d.c.o.m.m._.w.m._.p.r.o.f._.c.h.a.n.g.e._.e.v.e.n.t"
[Windows Mobile Software Development] flywhc:
Thanks for BT files and search tool.

This is a harder job - RDS data are retrieved from Widcomm bluetooth driver. I guess even HTC doesn't know how to get raw RDS from their phone.

I hope RDS info wasn't directly read from chipset.
[Windows Mobile Software Development] 6Fg8:
So i'll wait a few more weeks before i go buy a Leo then.

And if you manage to crack the nut, maybe they use GFMAPI for their next FM Radio app :D
[Windows Mobile Software Development] flywhc:
BCM4325 is also used on iPod Touch. Android guys are also talking about this chip.

It seems they all use drivers and apps provided by Broadcomm and don't know how to control directly the chip.

http://www.mail-archive.com/android-porting@googlegroups.com/msg06777.html

http://theiphonewiki.com/wiki/index.php?title=BCM4325
[Windows Mobile Software Development] 6Fg8:
just stumbled over the Android drivers for BCM4329 (similar to BCM4325 but has FM Tx) which have been released by Broadcomm. Lots of stuff regarding WiFi, but nothing about FM.

Here's the link if you're interested, or maybe you saw it already.
[Windows Mobile Software Development] kinglifer:
Hey can the same thing be done for TV over the air?
[Windows Mobile Software Development] beemerTPPC:
Extracted from the BCM4325 brochure:

The FM unit supports BSC (Broadcom Serial Control) for

communications, stereo analog output, as well as I²S and

PCM interfaces.

76-MHz to 108-MHz FM bands and supports European Radio

Data Systems (RDS) and North American Radio Broadcast

Data Systems (RBDS) modulations

So it should work. In the brochure the FM unit is described under the Bluetooth section and so, maybe it can be managed with the broadcomm API.

In the block diagram we can see that the FM receiver is conected to the world across the bluetooth unit.

I've downloaded and installed the latest broadcomm bt sdk for Windows CE (1.7.1.5201) but it doesn't seem to have any fucntion for FM, neither for 1.9+ version of the stack :confused: I also installed the SDL for Pc without results.

So I think that all the API should be on the BCM1000-BTWM software. Unfortunately this is not a free software and only the OEMS have it.

In the BTTrayCE file there are the functions supported by this file. This file have been used historically for some BT api functions like power on and off the bluetooth, but since 1.9 stack version it have changed dramatically and supports many new messages:

.rdata:000397CC 00000016 unicode WCE_BTTRAY

.rdata:00039884 0000002C unicode WIDCOMM_WM_STACK_LOAD

.rdata:000398B0 00000030 unicode WIDCOMM_WM_STACK_UNLOAD

.rdata:000398E0 00000034 unicode WIDCOMM_WM_GETSTACKSTATUS

.rdata:00039914 00000034 unicode WIDCOMM_WM_SETSTACKCONFIG

.rdata:00039948 0000002E unicode WIDCOMM_WM_BTRADIO_OFF

.rdata:00039978 0000002C unicode WIDCOMM_WM_BTRADIO_ON

.rdata:000399A4 00000028 unicode WIDCOMM_WM_VISIBLE1

.rdata:000399CC 00000034 unicode WIDCOMM_WM_REG_PROF_NOTIF

.rdata:00039A00 00000034 unicode WIDCOMM_WM_REG_PROF_EVENT

.rdata:00039A34 0000002C unicode WIDCOMM_WM_ACTIVESYNC

.rdata:00039A60 0000003A unicode WIDCOMM_WM_ISVISIBILITYTIMER

.rdata:00039A9C 00000030 unicode WIDCOMM_WM_IDENT_CHANGE

.rdata:00039ACC 00000036 unicode WIDCOMM_WM_POST_STACK_LOAD

.rdata:00039B04 00000032 unicode WIDCOMM_WM_UPDATE_STATUS

.rdata:00039B38 00000040 unicode WIDCOMM_WM_KILL_VISIBILITYTIMER

.rdata:00039B78 00000032 unicode WIDCOMM_WM_SET_FM_CONFIG

.rdata:00039BAC 0000003A unicode WIDCOMM_WM_PROF_CHANGE_EVENT

.rdata:00039BE8 0000002E unicode WIDCOMM_WM_STACKLOADED

.rdata:00039C18 00000032 unicode WIDCOMM_WM_STACKUNLOADED

.rdata:00039C4C 00000030 unicode WIDCOMM_WM_TRAYUNLOADED

.rdata:00039C7C 00000028 unicode WIDCOMM_WM_ACTIVATE

The only one I see related to FM is the one I've marked in bold.

Only some thoughts :(