Jan R wrote: > Hi all! > > The GSM buzzing noise was unbearable for anybody I called, and it was > indeed louder than my voice - that's why I had a look at the wolfson data > sheet and the ALSA channel map on the wiki and fiddled a bit... > Hi Jan,
Can I know which hardware version do you use? A5 or A6? I used your state files to try my A5. It seems that it could reduce the buzzing noise. But it could not get rid of it all. Cheers, Matt > First thing I noticed was that according to http://wiki.openmoko.org/ > images/2/2c/WM8753_BlockDiagram_GSM_handset.png , the recorded audio was > routed through one of the PGAs on the GTA01. For a reason I could not > find anywhere, it is now routed directly from MIC_MUX to the Mono mixer > on the right side of the diagram on GTA02. > > Switching 'Mic Sidetone Mux' (control 63) to either of the PGAs (left or > right) immediately lowers interference noise by an enormous amount at the > same 'Mono Playback Volume' (control 5). > > Routing audio through ALC_MIX and subsequently the left PGA did lower the > volume for the called person a bit. > > With the modified gsmhandset.state, the buzzing noise is occasionally > fading in and out and has a very low volume in comparison to the previous > state. With a bit of luck, buzzing fades out at some point and does not > return for 40 seconds or so. > > > Changes to om-testing daily feed gsmhandset.state (20081020): > > control.4 'Speaker Playback Volume' lowered to 100 from 127 to reduce > echo for call(ed|ing) person. > > control.12 'Mono Sidetone Playback Volume' increased to 6 from 2 > > control.48 'Mic2 Capture Volume' increased to 2 from 0 > > control.63 'Mic Sidetone Mux' set to 'Right PGA' > > > > Hope this helps somebody apart from me to use the FreeRunner as a > phone. :) > > Greetings, > Jan > > > > For convenience, the whole modified gsmhandset.state file: > > state.neo1973gta02 { > control.1 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 255' > iface MIXER > name 'PCM Volume' > value.0 0 > value.1 0 > } > control.2 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 255' > iface MIXER > name 'ADC Capture Volume' > value.0 0 > value.1 0 > } > control.3 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 127' > iface MIXER > name 'Headphone Playback Volume' > value.0 0 > value.1 0 > } > control.4 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 127' > iface MIXER > name 'Speaker Playback Volume' > value.0 100 > value.1 100 > } > control.5 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 127' > iface MIXER > name 'Mono Playback Volume' > value 103 > } > control.6 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 7' > iface MIXER > name 'Bypass Playback Volume' > value.0 7 > value.1 7 > } > control.7 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 7' > iface MIXER > name 'Sidetone Playback Volume' > value.0 0 > value.1 0 > } > control.8 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 7' > iface MIXER > name 'Voice Playback Volume' > value.0 0 > value.1 0 > } > control.9 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'Headphone Playback ZC Switch' > value.0 false > value.1 false > } > control.10 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'Speaker Playback ZC Switch' > value.0 false > value.1 false > } > control.11 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 7' > iface MIXER > name 'Mono Bypass Playback Volume' > value 0 > } > control.12 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 7' > iface MIXER > name 'Mono Sidetone Playback Volume' > value 6 > } > control.13 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 7' > iface MIXER > name 'Mono Voice Playback Volume' > value 0 > } > control.14 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Mono Playback ZC Switch' > value false > } > control.15 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'Linear Control' > comment.item.1 'Adaptive Boost' > iface MIXER > name 'Bass Boost' > value 'Linear Control' > } > control.16 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 '130Hz @ 48kHz' > comment.item.1 '200Hz @ 48kHz' > comment.item.2 '100Hz @ 16kHz' > comment.item.3 '400Hz @ 48kHz' > comment.item.4 '100Hz @ 8kHz' > comment.item.5 '200Hz @ 8kHz' > iface MIXER > name 'Bass Filter' > value '130Hz @ 48kHz' > } > control.17 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 15' > iface MIXER > name 'Bass Volume' > value 0 > } > control.18 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 15' > iface MIXER > name 'Treble Volume' > value 0 > } > control.19 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 '8kHz' > comment.item.1 '4kHz' > iface MIXER > name 'Treble Cut-off' > value '8kHz' > } > control.20 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 7' > iface MIXER > name 'Sidetone Capture Volume' > value.0 0 > value.1 0 > } > control.21 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 7' > iface MIXER > name 'Voice Sidetone Capture Volume' > value 2 > } > control.22 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 63' > iface MIXER > name 'Capture Volume' > value.0 0 > value.1 0 > } > control.23 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'Capture ZC Switch' > value.0 false > value.1 false > } > control.24 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'Capture Switch' > value.0 true > value.1 true > } > control.25 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 '3.4Hz @ 48kHz' > comment.item.1 '82Hz @ 16k' > comment.item.2 '82Hz @ 8kHz' > comment.item.3 '170Hz @ 8kHz' > iface MIXER > name 'Capture Filter Select' > value '3.4Hz @ 48kHz' > } > control.26 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 HiFi > comment.item.1 Voice > iface MIXER > name 'Capture Filter Cut-off' > value HiFi > } > control.27 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Capture Filter Switch' > value false > } > control.28 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 7' > iface MIXER > name 'ALC Capture Target Volume' > value 0 > } > control.29 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 7' > iface MIXER > name 'ALC Capture Max Volume' > value 0 > } > control.30 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 Off > comment.item.1 Right > comment.item.2 Left > comment.item.3 Stereo > iface MIXER > name 'ALC Capture Function' > value Off > } > control.31 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'ALC Capture ZC Switch' > value false > } > control.32 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 15' > iface MIXER > name 'ALC Capture Hold Time' > value 0 > } > control.33 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 15' > iface MIXER > name 'ALC Capture Decay Time' > value 0 > } > control.34 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 15' > iface MIXER > name 'ALC Capture Attack Time' > value 0 > } > control.35 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 31' > iface MIXER > name 'ALC Capture NG Threshold' > value 0 > } > control.36 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'Constant PGA Gain' > comment.item.1 'Mute ADC Output' > iface MIXER > name 'ALC Capture NG Type' > value 'Mute ADC Output' > } > control.37 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'ALC Capture NG Switch' > value false > } > control.38 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 Capture > comment.item.1 Playback > iface MIXER > name '3D Function' > value Capture > } > control.39 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 '2.2kHz' > comment.item.1 '1.5kHz' > iface MIXER > name '3D Upper Cut-off' > value '2.2kHz' > } > control.40 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 '200Hz' > comment.item.1 '500Hz' > iface MIXER > name '3D Lower Cut-off' > value '200Hz' > } > control.41 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 15' > iface MIXER > name '3D Volume' > value 0 > } > control.42 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name '3D Switch' > value false > } > control.43 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Capture 6dB Attenuate' > value false > } > control.44 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Playback 6dB Attenuate' > value false > } > control.45 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 None > comment.item.1 '32kHz' > comment.item.2 '44.1kHz' > comment.item.3 '48kHz' > iface MIXER > name De-emphasis > value None > } > control.46 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 Stereo > comment.item.1 Left > comment.item.2 Right > comment.item.3 Mono > iface MIXER > name 'Playback Mono Mix' > value Stereo > } > control.47 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'Non Inverted' > comment.item.1 Inverted > iface MIXER > name 'Playback Phase' > value 'Non Inverted' > } > control.48 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 3' > iface MIXER > name 'Mic2 Capture Volume' > value 2 > } > control.49 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 3' > iface MIXER > name 'Mic1 Capture Volume' > value 0 > } > control.50 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'DAI 0' > comment.item.1 'DAI 1' > comment.item.2 'DAI 2' > comment.item.3 'DAI 3' > iface MIXER > name 'DAI Mode' > value 'DAI 0' > } > control.51 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 Stereo > comment.item.1 'Left ADC' > comment.item.2 'Right ADC' > comment.item.3 'Channel Swap' > iface MIXER > name 'ADC Data Select' > value Stereo > } > control.52 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'Non Inverted' > comment.item.1 Inverted > iface MIXER > name 'ROUT2 Phase' > value Inverted > } > control.53 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'Mic 1' > comment.item.1 'Mic 2' > comment.item.2 'Mic 3' > iface MIXER > name 'Mic Selection Mux' > value 'Mic 1' > } > control.54 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'RXP - RXN' > comment.item.1 'RXP + RXN' > comment.item.2 RXP > comment.item.3 RXN > iface MIXER > name 'Rx Mixer' > value 'RXP - RXN' > } > control.55 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'Line 1 + 2' > comment.item.1 'Line 1 - 2' > comment.item.2 'Line 1' > comment.item.3 'Line 2' > iface MIXER > name 'Line Mixer' > value 'Line 1 + 2' > } > control.56 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'Line Mix' > comment.item.1 'Rx Mix' > iface MIXER > name 'Line Mono Mux' > value 'Line Mix' > } > control.57 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'Line 2' > comment.item.1 'Rx Mix' > iface MIXER > name 'Line Right Mux' > value 'Rx Mix' > } > control.58 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'Line 1' > comment.item.1 'Rx Mix' > iface MIXER > name 'Line Left Mux' > value 'Rx Mix' > } > control.59 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'ALC Mixer Line Capture Switch' > value false > } > control.60 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'ALC Mixer Mic2 Capture Switch' > value true > } > control.61 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'ALC Mixer Mic1 Capture Switch' > value false > } > control.62 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'ALC Mixer Rx Capture Switch' > value false > } > control.63 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'Left PGA' > comment.item.1 'Mic 1' > comment.item.2 'Mic 2' > comment.item.3 'Right PGA' > iface MIXER > name 'Mic Sidetone Mux' > value 'Right PGA' > } > control.64 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 PGA > comment.item.1 'Line or RXP-RXN' > comment.item.2 Sidetone > iface MIXER > name 'Capture Right Mux' > value PGA > } > control.65 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 PGA > comment.item.1 'Line or RXP-RXN' > comment.item.2 Line > iface MIXER > name 'Capture Left Mux' > value PGA > } > control.66 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 Stereo > comment.item.1 'Analogue Mix Left' > comment.item.2 'Analogue Mix Right' > comment.item.3 'Digital Mono Mix' > iface MIXER > name 'Capture Right Mixer' > value Stereo > } > control.67 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 Stereo > comment.item.1 'Analogue Mix Left' > comment.item.2 'Analogue Mix Right' > comment.item.3 'Digital Mono Mix' > iface MIXER > name 'Capture Left Mixer' > value Stereo > } > control.68 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Playback Mixer Voice Capture Sw' > value false > } > control.69 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Playback Mixer Left Capture Swi' > value false > } > control.70 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Playback Mixer Right Capture Sw' > value false > } > control.71 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 VREF > comment.item.1 'Capture ST' > comment.item.2 LOUT2 > iface MIXER > name 'Out4 Mux' > value VREF > } > control.72 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 VREF > comment.item.1 ROUT2 > comment.item.2 'Left + Right' > iface MIXER > name 'Out3 Mux' > value VREF > } > control.73 { > comment.access 'read write' > comment.type ENUMERATED > comment.count 1 > comment.item.0 'Inverted Mono 1' > comment.item.1 Left > comment.item.2 Right > comment.item.3 'Left + Right' > iface MIXER > name 'Mono 2 Mux' > value 'Inverted Mono 1' > } > control.74 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Mono Mixer Left Playback Switch' > value false > } > control.75 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Mono Mixer Right Playback Switc' > value false > } > control.76 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Mono Mixer Voice Playback Switc' > value false > } > control.77 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Mono Mixer Sidetone Playback Sw' > value true > } > control.78 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Mono Mixer Bypass Playback Swit' > value false > } > control.79 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Right Mixer Voice Playback Swit' > value false > } > control.80 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Right Mixer Sidetone Playback S' > value false > } > control.81 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Right Mixer Right Playback Swit' > value false > } > control.82 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Right Mixer Bypass Playback Swi' > value true > } > control.83 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Left Mixer Voice Playback Switc' > value false > } > control.84 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Left Mixer Sidetone Playback Sw' > value false > } > control.85 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Left Mixer Left Playback Switch' > value false > } > control.86 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Left Mixer Bypass Playback Swit' > value true > } > control.87 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'DAPM Stereo Out Switch' > value false > } > control.88 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'DAPM GSM Line Out Switch' > value true > } > control.89 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'DAPM GSM Line In Switch' > value true > } > control.90 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'DAPM Headset Mic Switch' > value true > } > control.91 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'DAPM Handset Mic Switch' > value true > } > control.92 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'DAPM Handset Spk Switch' > value true > } > control.93 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Amp State Switch' > value false > } > control.94 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 1 > iface MIXER > name 'Amp Spk Switch' > value false > } > } > > > > > > > _______________________________________________ > Openmoko community mailing list > community@lists.openmoko.org > http://lists.openmoko.org/mailman/listinfo/community > _______________________________________________ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community