yashsingh1/xdaforums huggingface dataset:
[Windows Mobile Software Development] Thunichgud:
Moin,

testing results on V900, cable headset:

EtenTest1:

Startup: loudspeaker (LS)

Audiopath 0: headset (HS)

Audiopath 1: LS

Audiopath 2: no change to pevious behaviour (NC)

Audiopath 3: NC

Audiopath 4: sometimes NC, sometimes HS very loud / LS*

Audiopath 5: sometimes NC, sometimes LS.

FMGetProp(Audiopath) didn't work (Err 120, val=0)

EtenTest4:

Startup: HS very loud / LS*

Audiopath 0: HS

Audiopath 1: HS very loud / LS*

Audiopath 2: NC

Audiopath 3: NC

Audiopath 4: sometimes NC, sometimes HS very loud / LS*

Audiopath 5: sometimes NC, sometimes LS.

FMGetProp(Audiopath) didn't work (Err 120, val=0)

* means: the effective path depends on the headset -> inserted: HS on + LS off, not inserted: LS on. When HS is inserted, the volume was on maximum and differs from volume at Audiopath 0.

This behaviour differs from Audiopath 1 in EtenTest1, where the loudspeaker is switched on and the headset is switched off obligatory - also when the HS is inserted !

The irregular behaviour at audiopath 4 and 5 could be noticed in both versions.

Judgement:

The noticed behaviour in EtenTest1 is better, than in EtenTest4. Or there should be offered an user-option: manual switching or automatic switching. When the irregular behaviour in EtenTest1 get fixed, both options are possible.

Further tests will follow...

- Thunichgud -
[Windows Mobile Software Development] boiacchi:
OK done, but unfortunately power radio cannot find any station using that dll.

Using yours dll it finds stations, but i got no audio, nor rds messages.
[Windows Mobile Software Development] Thunichgud:
Moin, again,

Test EtenTest4 on V900:

- MIN SEEK RSSI don't works -> Err 120

- At startup the message "Failed to load 'FMSetRSSITH" appeared.

- Minimal RSSI of channels, found by seeking: 20

- Seeking "foreward" seeks backward and seeking "backward" seeks foreward.

- Missing "RDS log off". That made me mad.

- The behavour of Audiopath 0 and 1 seems to be irregular, too. When I switched on the radio this time, the LS was switched on and the inserted HS was switched off. I will continue testing it.

- Thunichgud -
[Windows Mobile Software Development] crazydogs:
what has changed in new gfmapi.dll? Is there any changelog?

The new one is more than 10KB smaller!

I changed old one to new one in Windows-Folder. HyperGPS still start, don´t know if I still can receive TMC.
[Windows Mobile Software Development] flywhc:
you are right. it is more efficient if rewrite the driver.

What you did was very similar to what BeamRider did, such as polling data.

I haven't worked on interrupt before. why the original driver will not work if hook the interrupt? is possible to use DuplicateHandle to handle that event? does your program run in same process as that FM driver?

I don't have si470x based device so sorry I cannot provide more help.

according to boiacchi, Beta 4 fixed audio path.

So I guess V900 has different audio driver from M900/800.

From your results, I should use EtenTest1, value 0 and 1 for switch headset and loudspeaker. In this case I have to write code to check device model.

Model name can be found from Settings->system->Phone Information(or Device Information).

I analyzed V900 SetArea code carefully yesterday. I am sure Band should be 0 for US, 1 for EU and 2 for Japan. Beta 1 uses those numbers. don't know why it didn't work.

crazydogs, It is for Eten/Acer devices, not for HTC.
[Windows Mobile Software Development] phjz:
As I know well, the kernel HookInterrupt is for OEM to handle an interrupt in a different way - so it is not a chain, but I'm not sure. And just the original driver can query the chips register. Unfortunately I'm totally new in WM development, all the functions begin to study two weeks ago - will check what DuplicateHandle do. The interface now in the gfmapi.dll, so it run within the HyperGPS...

As you can see in the source, the FMRadio_Interrupt event which set at interrupt routine - I can reach it ( OpenEvent also works ), but this event is never set in this instance - it is cleared in the interrupt thread in the original driver, maybe therefore....
[Windows Mobile Software Development] flywhc:
I didn't work on driver development before.

A handle is only valid within same process.

There are ways to inject into another process:

http://wmdevelopers.blogspot.com/2008/05/inject-dlls.html

use google can find more sample code.
[Windows Mobile Software Development] flywhc:
Thunichgud's test result is different from boiacchi's results.

results are confusing to me.

I added beta 5 - I try to solve or expose the problem of volume and audio path.

Also I fixed disabling RDS log feature!

M800/900 Audio path should use 0 for speaker, 1 for headset;

V900 should use 2 for Speaker and 3 for headset.

Volume - I don't know what is problem so I added more logs. please upload logs. SetVolume always return 1 for success. Volume should be 0-100, not 0-15!

This is the last attempt to BAND property. I can't see anything wrong :(

There is no Japanese Eten user in this thread yet anyway :)

Thunichgud, are your sure seek fore/back are wrong? fore means going higher frequency and back is lower frequency.

boiacchi's results showed seek direction was correct.

boiacchi, can't use phjz's driver then. I guess they have different physical address. If phjz's I2C driver works it may work on eten device in the future.

I am surprised that GFMAPI beta 4 didn't work with power radio.

Please try beta 5. If EtenTest works but PowerRadio doesn't, have to ask 6Fg8's help

Eten/Acer user please provide Model name of your device.

Model name can be found from Settings->system->Phone Information(or Device Information).
[Windows Mobile Software Development] casouzaj:
Some results with B5

Ok, almost everything works on my M900. Default band is 0. Seek forward and backward flow in the right direction, and correctly cycles the entire dial (87.5 to 108.0 MHz), now showing the right frequency at each step. Maximum volume level on my device can now be set to 103. Audio path now can toggle between speakerphone and wired headsets just fine. Can't remember what to set for Stereo Blend. I tried some values, but I seem to hear everything in monaural. Might have been my mistake, not an error at all, but, who knows? One important function which seems to be missing in this version is RDS detection. Former versions used to show lots of data in the display window, whenever a RDS broadcast was found. Not anymore.

Cheers!

Carlos
[Windows Mobile Software Development] 6Fg8:
To troubleshoot issues with PowerRadio, you may enable logging. See here for details. Please post PowerRadio.log here or in Power Radio thread for analysis.
[Windows Mobile Software Development] Thunichgud:
Moin!

Sorry, complete Chaos !!

Yesterday I didn't realize that I didn't change the SW version of EtenTest. So everything I wrote yesterday is a result of testing EtenTest1 !!

Addition to EtenTest1: The Audiopath 1 works unstable, too. Sometimes AP0: HS and AP1: LS obligatory, also when HS is inserted, sometimes AP0: HS obligatory and AP1: HS/LS depending the insertion of HS.

The Audiopathes 0 to 5 in EtenTest4 (SW Version 18.1.2010, 0:37) and EtenTest5 (SW Version 18.1.2010, 1:59) didn't do anything by software.

EtenTest4 (see date and time of version, perhaps you have an other numbering !) works better than EtenTest5 in which the change of band didn't work. But in EtenTest4 the seek in japanese band runs in wrong direction, while the seek in european band runs in right direction (see attached file band_log.txt). I couldn't find the american band.

The SetProp and GetProp values are absolutely confused at volume and band in all SW versions - see attached value_log.txt.

After the Seek foreward or backward the shown frequences differs at the same received station - see frequency_log.txt.

- Thunichgud -
[Windows Mobile Software Development] Thunichgud:
Sorry, my mistake.

As my tests did show the AP2 and AP3 makes absolute no sense to the V900. These AP do nothing there. Better: AP0: HS obligatory AP1: LS obligatory AP4 or AP5: HS/LS. But the instability must be fixed there.

See band_log.txt from my previous post.

My mistake, but see band_log.txt from my previous post.

Warning ! The EtenTest5 (SW version 18.1.2010, 1:59) I wrote about in my previous post is not the EtenTestB5 !! Two different versions !!

- Thunichgud -
[Windows Mobile Software Development] flywhc:
casouzaj, Stereo blend is actually not supported.

Did you try powerRadio? please get log if cannot get RDS from it.

I guess there is something wrong with volume calculation in my code.

Thunichgud, I think band is working fine. the reason you saw seek in reverse way because there is no channels available.

I don't think US channel is necessary because it doesn't have much difference from CCIR/EU. Are you in the US?

I don't know how to set RSSI on your device. This is the reason cannot find some channel by using seek. maybe get a M900 FM driver (fm*.*) and replace files on your device?

Audio path: on M800/900, 0 is Loudspeaker, 1 is headset but on your V900 it is another way around? If you only use these two values, is your device still unstable?
[Windows Mobile Software Development] casouzaj:
PowerRadio actually kills my BT headset link. That's why I usually don't install it. I'm just trying to help you debug your program. :).

Anyway, there seems to be a difference on how RDS is handled in B5. Or not?

Cheers!

Carlos
[Windows Mobile Software Development] boiacchi:
Testing beta 5:

audiopath is still ok 0 = speaker, 1 = headset and switches without problem

volume is still strange, please find below some sample of set property = get property:

10 = 0

11 = 1

20 = 2

25 = 3

60 = 7

100 = 12

band now is working perectly: i can set to 1 without the previous problem

Band = 1

i get only these stations but hear just noise

76000

87100

91000

With band = 0 it is working like before and like before if i keep to use seek forward or backward i get also two stations with 1 hz as i told you before.

Have a good evening!

P.S.

even with this latest dll powerradio is not working.
[Windows Mobile Software Development] flywhc:
boiacchi,

Please explain more about PowerRadio: what happens? can you turn on powerRadio log and get logs? See 6Fg8's post above

Volume: can you hear loud sound when set to 100 and silent when set it to 0?

I can see from log:

FM_SetAudioVolume(0, 0)=1

FMGetProp(VOLUME) = Success, val = 0

FMSetProp(VOLUME, 12) = Success

FMGetProp(VOLUME) = Success, val = 6

...

FMSetProp(VOLUME, 40) = Success

FMGetProp(VOLUME) = Success, val = 26

FM_SetAudioVolume(100, 15)=1

FMSetProp(VOLUME, 100) = Success

FM_GetAudioVolume()= 12

FMGetProp(VOLUME) = Success, val = 80

FM_Get/Set are in a pair and FMGet and FMSet are in a pair. I used a math expression to convert from 0-15 (FM_Get) to 0-100 (FMGet).

My math is not very good so there was a mistake. :)

still can't explain why FM_SetAudioVolume to 15 but the device return FM_GetAudioVolume = 12.

... maybe it is a timing issue? can you set a value to a value then wait half minute then get it?

band: how about band 2? designed range from 75000 to 108000 should have all channels. but maybe only 75000 - 91000 if something wrong.
[Windows Mobile Software Development] laikmail:
With some tweaks Leo supports 802.11n. Does not that mean that Leo is using BCM4329?
[Windows Mobile Software Development] boiacchi:
Hi

Powerradio:

i couldn't add the proper registry string... i'll try again after some rest! :D

But the program can searh radio station, the signal level bar is working, but there is no volume, i mean, i can hear a low noise from the headphones, but no way o rise the volume.

No rds, tmc or other info are obtained.

Etentest:

Volume: can you hear loud sound when set to 100 and silent when set it to 0? yes exactly

can you set a value to a value then wait half minute then get it? done with a couple of volume values, i've waited 30 secs between set and get property

how about band 2? designed range from 75000 to 108000 should have all channels. but maybe only 75000 - 91000 if something wrong

it works between 76000 and 108000

have a good night.
[Windows Mobile Software Development] flywhc:
boiacchi, did you try adjust system volume? how system volume impact fm radio volume?

I can't image why EtenTest has sound and PowerRadio doesn't unless PowerRadio does something special.

I should write more clever test app to keep consistence between different devices. phjz has same problem.

have to work overtime in the weekend :(
[Windows Mobile Software Development] BBCBBA:
Gigabyte GSmart S1200 FM

attached the FM related files from Gigabyte GSmart S1200 for you to develop a compatible radio player.

thanks.
[Windows Mobile Software Development] vmm333:
Eten X650 Test Beta 5 Successful

flywhc,

I have tested EtenTest Beta 5 on Eten X650. See attached file

Some problem with band 1. But i can listen PowerRadio with preset stations now.

I haven't switch on log for PowerRadio yet.

But stations are stored in preset bank successfully and strange effect was appeared.

If you want to change frequence manually you press left arrow button to decrease frequence it will be ok. You can see new decreased frequence, but right arrow button don't change frequence after several tries.

I didn't know reason of it.

I'd like to test your GFMAPI module on my device. Could you attach some test cases in EtenTest archiv? Used by me test case i have found in previous messages.

Good luck
[Windows Mobile Software Development] boiacchi:
hi

About poweradio

I've tried what you suggsted and here it is what happens:

As i launch poweradio (head phones attached) i got no volume even if the stations are searched and tuned very well.

As soon as i change the SYSEM volume (NOT the phone volume), no matter if higher or lower, i start hear music from the radio.

If i set system volume to a step lower from the maximun, as son as i try to change the volume from the poweradio buttons, i can only lower it and not make it higher anymore.

I mean, if i press volume up, it won't grow, if i press volume down, it lowers, but after that, i cannot rise it anymore.

Very odd it is the beaviour of the other two lower system volume levels (the third is minimum/silent): as i try to higher the volume from the poweradio buttons, it lowers instead of rise, and again, once it is went low, there is no way to make it ise again, except of reset the system volume to maximum.

Also if the device goes sleep the audio stops and once awaken it keeps going sleep with intervals of about 1 second, fraction of time which i can only swith ppoweradio off to interrupt the phone going sleep.

On top of that poweradio does nt sho any rds or tmc info, nothing except the radio frequency big numbers.

Hope it is userful.

P.S.

I'll be in paris for work fo the next two weeks, so, since i will have only the pda with me, i still don't know if i'll be able to read the forum or test the applications during this two weeks.

Have a good night and a good sunday.

:)
[Windows Mobile Software Development] flywhc:
6 is a lucky number

Beta 6 try to solve volume problem - it actually set system volume instead of FM volume. I hope this way is working.

I also fixed a bug in RDS data. I hope you can see PowerRadio display RDS data.

BBCBBA, I did a quick analysis. Gigabyte GSmart S1200 supports raw RDS in its exe file. FM.exe directly talks to the fm radio driver by using DeviceIOControl. I can see clearly it gets raw RDS data and parse it to different type of RDS information.

However it is hard to understand those IOCTL code sent to the driver.

It takes a lot of time and energy. I hope you can find a windows mobile VC++ developers has this device to make things easier.

I don't know. maybe you are right. I will update the first post.
[Windows Mobile Software Development] casouzaj:
Some results for B6

Default band keeps being 0 (CCIR). Differentlly. it now starts playing a strong station here. Seek forward and backward are fine, but I've noticed that, altough mininum RSSI is set to 0, it fails to automatically detect a strong signal at 103.7MHz here (which broadcasts RDS). Keeps being unable to show RDS data in the main window. Default volume level is now set to 100. No matter which value I set it to, the volume I hear doesn't change at all. It is up to the system volume control now to set it down or up.

Cheers!

Carlos
[Windows Mobile Software Development] vmm333:
flywhc,

Beta 6 has a problem with volume on Eten X650.

Any volume property values doesn't change anything.

System volume control doesn't influence on radio volume.

See some details in log. But audiopath works correctly.

FMPowerOn: On Success

FMSeekChannel(0)=1

FMSeek()=1, Freq = 87600

FMSetProp(AUDIOPATH, 0) = Success

FMPowerOn: Off Success

FMPowerOn: On Success

FMSeekChannel(0)=1

FMSeek()=1, Freq = 87600

FMGetProp(AUDIOPATH) = Success, val = 1

FMGetChannelFromFrequency(103400)=159

FMSetChannel(159)=1, Freq = 1

FMSetProp(FREQUENCY, 103400) = Success

FMSetProp(VOLUME, 10) = Success

FMSetProp(VOLUME, 100) = Success

FMSetProp(VOLUME, 1000) = Err 87

FMSetProp(VOLUME, 101) = Err 87

FMGetProp(VOLUME) = Success, val = 100

FMSetProp(VOLUME, 1) = Success

FMGetProp(VOLUME) = Success, val = 0

FMSetProp(VOLUME, 10) = Success

FMGetProp(VOLUME) = Success, val = 6

FMPowerOn: Off Success

FMClose ...
[Windows Mobile Software Development] BLAST3RR:
The Leo most probably has the BCM4329 chipset.

Please take a look here; discussion about the possibility of a built-in FM transmitter: http://xdaforums.com/showthread.php?t=622377&p=5442550&postcount=46

The Leo might work with the old drivers which are currently used, too, as the datasheet says BCM has made the driver architecture compatible with older revisions of the chips. This might also be the 'problem' why it isn't fully working.
[Windows Mobile Software Development] phjz:
@flyhwc

I think that at the present state ( using the original fmradio.dll ) the I8000 GFMAPI is ready, every function working (except AFJUMP ). The only thing which remain unsolved to change the audiopath when the jack is not inserted. All the three known method to changet it probed + the builtin samsung one, without success. So it were probed and working in different countries as TMC receiver, also works with PowerRadio - except you can switch betwee ear and speaker just and only when the jack is inserted.
[Windows Mobile Software Development] casouzaj:
Route FM sound to A2DP headsets ?

Hi, flywhc,

Any possibility to implement an audiopath value which would route the FM sound to a A2DP connection, if it is found to be active?

Thanks, anyway.

Carlos
[Windows Mobile Software Development] BBCBBA:
flywhc

many thanks

Apart from RDS, I also hope to use bluetooth earphone to enjoy FM radio....
[Windows Mobile Software Development] flywhc:
Beta 6 should make powerRadio display RDS data. Did anyone test?

If works, at least you can use HyperGPS.

If doesn't, please upload some RDS log from EtenTest.

RDS log can be turned on in EtenTest by clicking menu->RDS log on

Volume: boiacchi wrote system volume impacts Beta 6 volume. from your results seems system volume doesn't impact fm volume. I have to use old way to set volume and think how to make it works as expected.

Auto scan: did you see all channels have even frequency not odd?

such as 88.2, 101.4 MHz but not 88.1, 102.5 MHz?

A2DP: sorry I don't know how to programmatically switch to A2DP.
[Windows Mobile Software Development] casouzaj:
BTFM_Radio is able to route the FM sound to an active A2DP connection. If you have some spare time, please take a look at it.

It works on my M900, but only when the FM sound has been previously toggled to the speakerphone. However, the speakerphone sound is not cut out at all, for what I don't see much point in hearing to FM both on the speakerphone and on my BT headsets.

Cheers!

Carlos

PS: I'll try make further tests about RDS later.
[Windows Mobile Software Development] boiacchi:
i am writing from m900.

at least the hotel has free wifi! :)

i manged to dowload test 6 and try it out:

poweradio works as before, except that now the volume is acting strange.

As it starts it is quite loud, than when i try to regulate it from poweadio buttons it remains the same, or better sometimes it rise alittle and sometimes it lowers a little, but basically it remains the same and if i check the system volume it is always at maximum.

Also if i keep pressing the volume down to the minimum, it pass from high volume to zero volume. if i check the system volume it is zero.

I cannot see any rds messages.

eten test

it works fine as usual, except for the volume tha now behave as i just wrote for poweradio. it is always at maximum, also it moves system volume to maximum, till i set it to minimum.

Also here i cannot see any rds signals even if i enable rds log.

Maybe here in paris they do not use rds? i dont know.

good night.

i will try to follow the topic as much as i can.
[Windows Mobile Software Development] harddisk_wp:
Check out the HD2 debug stuff. There is htcfm.exe in it which includes lots of **** from HTC FMAPI.DLL... well worth to check out if theres any crap you missed. http://vmsoft-gbr.de/~marco/hd2/HTCFM.exe is it.

the|m.
[Windows Mobile Software Development] flywhc:
casouzaj, thanks.

boiacchi, try HTC radio. it tells you which channel has RDS, which display the station name. I guess volume does impact but I used wrong format.

Volume is saved in registry HKCU\ControlPanel\Volume

harddisk_wp, it should be a .net application. IDA pro doesn't work well with it.

Is there a file HTCFM.dll?
[Windows Mobile Software Development] beemerTPPC:
Not sure if this is currently known on this thread, but some people are working on the FM transmitter (same chip as the receiver) of the HD2.

The information there could be useful...

http://xdaforums.com/showthread.php?t=622377
[Windows Mobile Software Development] flywhc:
phjz, excellent job. Do you like give me a link to a webpage/post for latest version so that I can put on the first post in this thread? the I don't have update the link if you have newer version. And I also can add a donation link for you.

beemerTPPC, yes, see harddisk_wp and BLAST3RR's post above.
[Windows Mobile Software Development] beemerTPPC:
Sorry :o , I'm not active in this thread but I try to post here all the information I find :)
[Windows Mobile Software Development] phjz:
Thanks, the latest version of the i8000 gfmapi.dll is always at http://phj.hu/i8000/TMC/gfmapi.dll and the install CAB is http://phj.hu/i8000/TMC/gfmapi.CAB , without version number ( the latest now is 1.8 ). The older versions is also available there as gfmapi_x_y.*.
[Windows Mobile Software Development] udmitriy:
m800 work but..

radio is work but volume just in headphone
[Windows Mobile Software Development] chriki_lahcene:
Thanks for you
[Windows Mobile Software Development] Thunichgud:
Moin,

Test Power Radio 2.3.0 with GFMAPI.dll B6 on Eten V900:

No sound from loudspeaker, no sound from headset, no RDS. Seek works, but found frequencies seems to be wrong.

Test EtenTestB6 on Eten V900:

Sound from loudspeaker only at audiopath 2, but no volume control. No RDS. Wrong frequency values after seek.

- Thunichgud -
[Windows Mobile Software Development] webpatrick:
Any news on HD2 aka LEO, I would love having TMC in iGO8 like beemerTPPC's HyperGPS.
[Windows Mobile Software Development] IBX1:
Please read the first post of this thread!

It always has the latest news about supported devices, versions, ...
[Windows Mobile Software Development] boiacchi:
hi flywhc.

i ve just used the standard software radio in m900 and i can get rds from it.

so i guess it is not the french frequencies not having rds, but something not working anymore on etentest dll.

i ve resumed older versions and i cannot get rds since beta 4