# Non funziona il microfono [Risolto]

## BikE

Non riesco in alcun modo ad far funzionare il microfono della mia scheda audio.... la scheda e' questa:

```

0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)

```

I settaggi dei vari volumi dovrebbero essere apposto:

```

imple mixer control 'Master',0

  Capabilities: pvolume pswitch pswitch-joined

  Playback channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 31 [100%] [on]

  Front Right: Playback 31 [100%] [on]

Simple mixer control 'Master Mono',0

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined

  Playback channels: Mono

  Limits: Playback 0 - 31

  Mono: Playback 31 [100%] [on]

Simple mixer control 'PCM',0

  Capabilities: pvolume pswitch pswitch-joined

  Playback channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 25 [81%] [on]

  Front Right: Playback 25 [81%] [on]

Simple mixer control 'Surround',0

  Capabilities: pvolume pswitch pswitch-joined

  Playback channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 31 [100%] [on]

  Front Right: Playback 31 [100%] [on]

Simple mixer control 'Center',0

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined

  Playback channels: Mono

  Limits: Playback 0 - 31

  Mono: Playback 31 [100%] [on]

Simple mixer control 'LFE',0

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined

  Playback channels: Mono

  Limits: Playback 0 - 31

  Mono: Playback 31 [100%] [on]

Simple mixer control 'Line',0

  Capabilities: pvolume pswitch pswitch-joined cswitch cswitch-joined cswitch-exclusive

  Capture exclusive group: 0

  Playback channels: Front Left - Front Right

  Capture channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 31 [100%] [on] Capture [off]

  Front Right: Playback 31 [100%] [on] Capture [off]

Simple mixer control 'Line-In As Surround',0

  Capabilities: pswitch pswitch-joined

  Playback channels: Mono

  Mono: Playback [on]

Simple mixer control 'CD',0

  Capabilities: pvolume pswitch pswitch-joined cswitch cswitch-joined cswitch-exclusive

  Capture exclusive group: 0

  Playback channels: Front Left - Front Right

  Capture channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 31 [100%] [on] Capture [off]

  Front Right: Playback 31 [100%] [on] Capture [off]

Simple mixer control 'Mic',0

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined cswitch cswitch-joined cswitch-exclusive

  Capture exclusive group: 0

  Playback channels: Mono

  Capture channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Mono: Playback 31 [100%] [on]

  Front Left: Capture [on]

  Front Right: Capture [on]

Simple mixer control 'Mic As Center/LFE',0

  Capabilities: pswitch pswitch-joined

  Playback channels: Mono

  Mono: Playback [on]

Simple mixer control 'Mic Boost (+20dB)',0

  Capabilities: pswitch pswitch-joined

  Playback channels: Mono

  Mono: Playback [on]

Simple mixer control 'Mic Select',0

  Capabilities:

  Mono:

Simple mixer control 'Video',0

  Capabilities: cswitch cswitch-joined cswitch-exclusive

  Capture exclusive group: 0

  Capture channels: Front Left - Front Right

  Front Left: Capture [off]

  Front Right: Capture [off]

Simple mixer control 'Phone',0

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined cswitch cswitch-joined cswitch-exclusive

  Capture exclusive group: 0

  Playback channels: Mono

  Capture channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Mono: Playback 31 [100%] [on]

  Front Left: Capture [off]

  Front Right: Capture [off]

Simple mixer control 'IEC958',0

  Capabilities: pswitch pswitch-joined cswitch cswitch-joined

  Playback channels: Mono

  Capture channels: Mono

  Mono: Playback [on] Capture [on]

Simple mixer control 'IEC958 Output',0

  Capabilities: pswitch pswitch-joined

  Playback channels: Mono

  Mono: Playback [on]

Simple mixer control 'IEC958 Playback AC97-SPSA',0

  Capabilities: volume volume-joined

  Playback channels: Mono

  Limits: 0 - 3

  Mono: 3 [100%]

Simple mixer control 'PC Speaker',0

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined

  Playback channels: Mono

  Limits: Playback 0 - 15

  Mono: Playback 15 [100%] [on]

Simple mixer control 'Aux',0

  Capabilities: pvolume pswitch pswitch-joined cswitch cswitch-joined cswitch-exclusive

  Capture exclusive group: 0

  Playback channels: Front Left - Front Right

  Capture channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 31 [100%] [on] Capture [off]

  Front Right: Playback 31 [100%] [on] Capture [off]

Simple mixer control 'Mono Output Select',0

  Capabilities:

  Mono:

Simple mixer control 'Capture',0

  Capabilities: cvolume cswitch cswitch-joined

  Capture channels: Front Left - Front Right

  Limits: Capture 0 - 15

  Front Left: Capture 15 [100%] [on]

  Front Right: Capture 15 [100%] [on]

Simple mixer control 'Mix',0

  Capabilities: cswitch cswitch-joined cswitch-exclusive

  Capture exclusive group: 0

  Capture channels: Front Left - Front Right

  Front Left: Capture [off]

  Front Right: Capture [off]

Simple mixer control 'Mix Mono',0

  Capabilities: cswitch cswitch-joined cswitch-exclusive

  Capture exclusive group: 0

  Capture channels: Front Left - Front Right

  Front Left: Capture [off]

  Front Right: Capture [off]

Simple mixer control 'Duplicate Front',0

  Capabilities: pswitch pswitch-joined

  Playback channels: Mono

  Mono: Playback [on]

Simple mixer control 'External Amplifier',0

  Capabilities: pswitch pswitch-joined

  Playback channels: Mono

  Mono: Playback [on]

Simple mixer control 'Input Source Select',0

  Capabilities:

  Mono:

Simple mixer control 'Input Source Select',1

  Capabilities:

  Mono:

Simple mixer control 'VIA DXS',0

  Capabilities: pvolume

  Playback channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 31 [100%]

  Front Right: Playback 31 [100%]

Simple mixer control 'VIA DXS',1

  Capabilities: pvolume

  Playback channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 31 [100%]

  Front Right: Playback 31 [100%]

Simple mixer control 'VIA DXS',2

  Capabilities: pvolume

  Playback channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 31 [100%]

  Front Right: Playback 31 [100%]

Simple mixer control 'VIA DXS',3

  Capabilities: pvolume

  Playback channels: Front Left - Front Right

  Limits: Playback 0 - 31

  Front Left: Playback 31 [100%]

  Front Right: Playback 31 [100%]

```

Il dispositivo e' /dev/dsp come per l'output giusto?? Magari c'e' da fare qualcos'altro...Last edited by BikE on Sat Apr 23, 2005 11:36 pm; edited 1 time in total

----------

## gutter

Hai settato "Capture" in corrispondenza del microfono in alsamixer.

Lancia:

```
alsamixer -V capture
```

portati sul device del microfono e premi la barra spaziarice.

----------

## BikE

 *gutter wrote:*   

> Hai settato "Capture" in corrispondenza del microfono in alsamixer.
> 
> Lancia:
> 
> ```
> ...

 

Era gia' settato in corrispondenza del microfono

----------

## Cazzantonio

a me (penso sia la stessa via integrata nella scheda madre) funziona perfettamente.... se vuoi che ti posti qualche file di conf dimmelo tramite pm, comunque non ho toccato nulla, ho infilato il microfono, ho lanciato alsamixergui (o gnome-alsamixer... funziona bene ed è carino) ho fatto l'unmute del canale, ho alzato i volumi e settato il capture... tutto qui

----------

## BikE

Ho provato con gnome-alsamixer... sembra settato tutto correttamente... la voce mix riporta rec selezionato ma provando a registrare qualcosa con audacity non va assolutamente...

----------

## gutter

Anche io ho lo stesso south bridge  :Wink:  e mi funziona senza problemi seguendo lo stesso procedimento di cazzantonio.

----------

## BikE

 *gutter wrote:*   

> Anche io ho lo stesso south bridge  e mi funziona senza problemi seguendo lo stesso procedimento di cazzantonio.

 

Potreste allora pastarmi il file di configurazione con i vari livelli?? e magari dirmi qual'e' che non lo so  :Smile: 

----------

## gutter

Non ci sono problemi  :Wink: 

```
gutter@giskard ~ $ cat /etc/asound.conf
```

```
# Everything shall be dmixed, so redefine "default":

pcm.!default {

    type plug

    slave.pcm "dmixer"    # use our new PCM here

}

 

pcm.dsp0 {

    type plug

    slave.pcm "dmixer"

}

 

pcm.dmixer  {

    type dmix

    ipc_key 1024          # must be unique!

    slave {

        pcm "hw:0,0"      # you cannot use a "plug" device here, darn.

        period_time 0     # in usec

        period_size 1024  # must be power of 2 (in bytes)

        buffer_size 8192  # in bytes

        rate 48000

    }

    # bindings are cool. This says, that only the first

    # two channels are to be used by dmix, which is enough for

    # (most) oss apps and also lets multichannel chios work 

    # much faster:

    bindings {

        0 0  # from 0 => to 0

        1 1  # from 1 => to 1

    }

}

 

# mixer0 like above

ctl.mixer0 {

    type hw

    card 0

}

```

EDIT: Uso dmix come si vede dal file di conf.

----------

## BikE

E' quello per i volumi?? Tra l'altro io in etc ho solo asound.state..

----------

## gutter

```
gutter@giskard ~ $ cat /etc/asound.state 

```

```

state.I82801DBICH4 {

        control.1 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'Master Playback Switch'

                value true

        }

        control.2 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 2

                comment.range '0 - 31'

                iface MIXER

                name 'Master Playback Volume'

                value.0 8

                value.1 8

        }

        control.3 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'Headphone Playback Switch'

                value false

        }

        control.4 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 2

                comment.range '0 - 31'

                iface MIXER

                name 'Headphone Playback Volume'

                value.0 0

                value.1 0

        }

        control.5 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'Master Mono Playback Switch'

                value false

        }

        control.6 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 1

                comment.range '0 - 31'

                iface MIXER

                name 'Master Mono Playback Volume'

                value 0

        }

        control.7 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'PC Speaker Playback Switch'

                value true

        }

        control.8 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 1

                comment.range '0 - 15'

                iface MIXER

                name 'PC Speaker Playback Volume'

                value 15

        }

        control.9 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'Phone Playback Switch'

                value false

        }

        control.10 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 1

                comment.range '0 - 31'

                iface MIXER

                name 'Phone Playback Volume'

                value 0

        }

        control.11 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'Mic Playback Switch'

                value false

        }

        control.12 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 1

                comment.range '0 - 31'

                iface MIXER

                name 'Mic Playback Volume'

                value 0

        }

        control.13 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'Mic Boost (+20dB)'

                value false

        }

        control.14 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'Line Playback Switch'

                value false

        }

        control.15 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 2

                comment.range '0 - 31'

                iface MIXER

                name 'Line Playback Volume'

                value.0 0

                value.1 0

        }

        control.16 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'CD Playback Switch'

                value false

        }

        control.17 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 2

                comment.range '0 - 31'

                iface MIXER

                name 'CD Playback Volume'

                value.0 0

                value.1 0

        }

        control.18 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'Video Playback Switch'

                value false

        }

        control.19 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 2

                comment.range '0 - 31'

                iface MIXER

                name 'Video Playback Volume'

                value.0 0

                value.1 0

        }

        control.20 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'Aux Playback Switch'

                value false

        }

        control.21 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 2

                comment.range '0 - 31'

                iface MIXER

                name 'Aux Playback Volume'

                value.0 0

                value.1 0

        }

        control.22 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'PCM Playback Switch'

                value true

        }

        control.23 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 2

                comment.range '0 - 31'

                iface MIXER

                name 'PCM Playback Volume'

                value.0 31

                value.1 31

        }

        control.24 {

                comment.access 'read write'

                comment.type ENUMERATED

                comment.count 2

                comment.item.0 Mic

                comment.item.1 CD

                comment.item.2 Video

                comment.item.3 Aux

                comment.item.4 Line

                comment.item.5 Mix

                comment.item.6 'Mix Mono'

                comment.item.7 Phone

                iface MIXER

                name 'Capture Source'

                value.0 Mic

                value.1 Mic

        }

        control.25 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'Capture Switch'

                value true

        }

        control.26 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 2

                comment.range '0 - 15'

                iface MIXER

                name 'Capture Volume'

                value.0 3

                value.1 3

        }

        control.27 {

                comment.access 'read write'

                comment.type ENUMERATED

                comment.count 1

                comment.item.0 'pre 3D'

                comment.item.1 'post 3D'

                iface MIXER

                name 'PCM Out Path & Mute'

                value 'pre 3D'

        }

        control.28 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name '3D Control - Switch'

                value false

        }

        control.29 {

                comment.access 'read write'

                comment.type ENUMERATED

                comment.count 1

                comment.item.0 Mix

                comment.item.1 Mic

                iface MIXER

                name 'Mono Output Select'

                value Mix

        }

        control.30 {

                comment.access 'read write'

                comment.type ENUMERATED

                comment.count 1

                comment.item.0 Mic1

                comment.item.1 Mic2

                iface MIXER

                name 'Mic Select'

                value Mic1

        }

        control.31 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 1

                comment.range '0 - 15'

                iface MIXER

                name '3D Control - Center'

                value 0

        }

        control.32 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 1

                comment.range '0 - 15'

                iface MIXER

                name '3D Control - Depth'

                value 0

        }

        control.33 {

                comment.access read

                comment.type IEC958

                comment.count 1

                iface MIXER

                name 'IEC958 Playback Con Mask'

                value '0fff000f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'

        }

        control.34 {

                comment.access read

                comment.type IEC958

                comment.count 1

                iface MIXER

                name 'IEC958 Playback Pro Mask'

                value cf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

        }

        control.35 {

                comment.access 'read write'

                comment.type IEC958

                comment.count 1

                iface MIXER

                name 'IEC958 Playback Default'

                value '0082000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'

        }

        control.36 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'IEC958 Playback Switch'

                value false

        }

        control.37 {

                comment.access 'read write'

                comment.type INTEGER

                comment.count 1

                comment.range '0 - 3'

                iface MIXER

                name 'IEC958 Playback AC97-SPSA'

                value 0

        }

        control.38 {

                comment.access 'read write'

                comment.type BOOLEAN

                comment.count 1

                iface MIXER

                name 'External Amplifier'

                value true

        }

}

state.Modem {

        control {

        }

}
```

----------

## BikE

Ancora niente  :Crying or Very sad:   :Crying or Very sad: 

----------

## gutter

Una domanda stupida  :Smile: 

Ma sei sicuro di aver messo il mic nel buo giusto  :Very Happy: 

----------

## BikE

Si ho provato per sicurezza con winzozz e funziona..  :Crying or Very sad:   :Crying or Very sad: 

----------

## gutter

Prova ad emergere aumix e settare i volumi usando questo sw.

E' piu' semplice da usare rispetto ad alsamixer.

----------

## BikE

Non ho dovuto cambiar nulla da li... potreste dirmi un sw alternativo ad audacity per la registrazione ( che non sia arecord )

----------

## gutter

Ma il mic va o no?

----------

## BikE

 *gutter wrote:*   

> Ma il mic va o no?

 

No, mi serve apposta un programma alternativo per vedere se fosse audicity che magari non va un gran che bene....

----------

## BikE

Niente.... ho provato un altro programma ma non va..... il problema e' quindi nella configurazione del microfono... ma non capisco in cosa...

EDIT: usando TeamSpeak noto che il microfono si accende nel momento in cui le casse emettono suoni.... pero' il capture e' su mic...

----------

## grentis

Riesumo questo post perche' devo far funzionare il microfono con la stessa scheda

Facendo

alsamixer -V capture 

io vedo il Mic con sopra una scritta rossa tipo

L          R

CAPTUR

ma non posso aumentare il volume!

Perche'?

Vedo anche la stessa cosa sopra Capture

ma qui posso settare il volume

solo che uil microfono non va      :Crying or Very sad: 

----------

## BikE

Il volume lo devi solo alzare in prossimita' del capture.... alternativamente dai  alsamixer -V all...

----------

## grentis

Ma dove ho il capture del microfono non posso alzare il volume...

non ho neanche la barra vuota...

ho solo la scritta capture:cry:

----------

## BikE

 *grentis wrote:*   

> Ma dove ho il capture del microfono non posso alzare il volume...
> 
> non ho neanche la barra vuota...
> 
> ho solo la scritta capture:cry:

 

Ovvio... devi alzare il volume solo su capture.... devi poi alzare il volume del microfono.... ma non del capture che leggi sotto a mic...

----------

## grentis

ok, funziona...grazie mille

 :Laughing: 

----------

## BikE

 *grentis wrote:*   

> ok, funziona...grazie mille
> 
> 

 

Argh ma perche' l'unico a cui non funziona sono io??

Potresti dirmi con precisione i volumi che hai cambiato e come??

----------

## grentis

Allora...

1) ho copiato spudoratamente il file asound.state di gutter

2) ho lanciato alsamixer -V capture e ho schiacciato la barra su mic (anche se visivamente non è cambiato nulla)

3) ho lanciato alsamixer e ho modificato 

                  a) il volume di mic 

                  b) il microfono di mic sel (che non so per che motivo era impostato su mic2

Tutto qui

Spero di esserti stato utile come tu a me     :Razz: 

----------

## BikE

Ancora nulla.... potresti dirmi cosa hai sotto le voci:

1) mic selection

2) mono out selection

3) Input Source Select

4) Input Source Select 1

----------

## grentis

Allora

1) mic selection

                 Mic1

2) mono out selection

                 Mic

Gli altri due non li ho! Sono in alsamixer?  :Confused: 

----------

## BikE

 *grentis wrote:*   

> Allora
> 
> 1) mic selection
> 
>                  Mic1
> ...

 

argh.... si sono in alsamixer.... mi sa che allora la scheda non e' proprio la stessa.... uff  :Sad: 

----------

## BikE

Potreste passarmi la sezione del config del kernel relativa al sound??

----------

## grentis

Kernel 2.6.10

```
#

# Sound

#

CONFIG_SOUND=y

#

# Advanced Linux Sound Architecture

#

CONFIG_SND=y

CONFIG_SND_TIMER=m

CONFIG_SND_PCM=m

CONFIG_SND_RAWMIDI=m

CONFIG_SND_SEQUENCER=m

# CONFIG_SND_SEQ_DUMMY is not set

CONFIG_SND_OSSEMUL=y

CONFIG_SND_MIXER_OSS=m

CONFIG_SND_PCM_OSS=m

CONFIG_SND_SEQUENCER_OSS=y

# CONFIG_SND_VERBOSE_PRINTK is not set

# CONFIG_SND_DEBUG is not set
```

spero ti possa essere utile...

poi emerso alsa-utils - alsa-headers - alsa-lib

ciao

----------

## BikE

Azz ancora niente..... il problema e' che ho provato su altre due schede audio ( ens1371, ess/maestro2 ) e nemmeno li va..... alsa e' apposto... il kernel anche'....

----------

## BikE

Risolto.... il problema era legato a LFE che lavorava sullo stesso canale del microfono.... ho dovuto quindi disabilitarlo....

Un sentito ringraziamento a gutter, cazzantonio e grentis  :Wink: 

----------

## leon_73

 *BikE wrote:*   

> Risolto.... il problema era legato a LFE che lavorava sullo stesso canale del microfono.... ho dovuto quindi disabilitarlo....
> 
> Un sentito ringraziamento a gutter, cazzantonio e grentis 

 

Scusa ... solo per curiosita'.... cose' LFE?

Leo

----------

## BikE

 *leon_73 wrote:*   

>  *BikE wrote:*   Risolto.... il problema era legato a LFE che lavorava sullo stesso canale del microfono.... ho dovuto quindi disabilitarlo....
> 
> Un sentito ringraziamento a gutter, cazzantonio e grentis  
> 
> Scusa ... solo per curiosita'.... cose' LFE?
> ...

 

Me lo sono chiesto anche io.... ma non ho indagato a riguardo  :Very Happy:   :Very Happy: 

----------

## leon_73

 *BikE wrote:*   

> Me lo sono chiesto anche io.... ma non ho indagato a riguardo  

 

lo so che a volte sono un po' tonto... ma come hai deciso allora che LFE stava occupando la risorsa?

Leo

----------

