If you try to connect a Windows 8 devices to a wireless network with both AES/PSK and PIN/WPS configuration modes, it will not work.
For some unknown reason, Windows 8 devices try to join the network using WPS/PIN, but the device is not expecting any WPS/PIN client and it will fail to establish a connection.
In the office network, all other devices running Mac OS X, iOS, Android and Linux work like a charm, but Windows 8 one simple don't. So I started checking what may be the problem and found that if I disable the WPS/PIN configuration for the router, Windows 8 clients start connecting and working with the network. It's annoying, but you can just print some WiFi Zone sign with instructions and a PSK distribution scheme (printed on the sign or by request).
That's it, to make Windows 8 clients work with your Wireless network in WPA2-Personal for AES and PSK, you must disable WPS/PIN options.
Este é um Blog de temas variados, tais como tecnologia, comunicações, comportamento, cotidiano, internet, programação, negócios, diversão, opinião, linux, unix, debian, bsd, asterisk, voip. This Blog have a variety of topics, such as technology, communication, behavior, daily, internet, programming, business, entertainment, opinion, linux, unix, debian, bsd, asterisk, voip.
terça-feira, setembro 03, 2013
sexta-feira, março 01, 2013
Ajustando o Linux para Asterisk
O Asterisk, assim como qualquer outro processo no Linux (e basicamente em qualquer Unix/Unix-like) estará limitado pelas definições de limites do sistema hospedeiro, sejam elas de nível global ou de usuário.
Um dado usuário, que para este artigo será asterisk, terá alguns limites definidos de forma global ao sistema (seja via builtin, seja via /etc/security/limits.conf, seja via /etc/sysctl.conf). Cabe ao proponente a administrador ou especialista conhecer estes limites e ajustá-los de acordo com a necessidade do sistema em questão.
Exemplo em um sistema Debian 6.0.7 sem tunning:
$ id asterisk
uid=111(asterisk) gid=116(asterisk) groups=20(dialout),29(audio),116(asterisk)
File Descriptors in Kernel Memory
$ /sbin/sysctl fs.file-nr
fs.file-nr = 1664 0 1646085 (alocados/pré-alocação/máximo)
Max Files
$ /sbin/syscrl fs.file-max
fs.file-max = 1646085
$ ulimit -Ha (hard limits)
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
O limite em open files é baixo para um sistema que planeja processar muitas chamadas, e deve ser ajustado.
$ ulimit -Sa (soft limits)
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
O soft limite está igual ao hard limit para open files. Será que posso digitar o comando que me foi indicado como a solução dos meus problemas?
$ ulimit -n 32768
-bash: ulimit: open files: cannot modify limit: Operation not permitted
Não! Olhe no ulimit -Hn que você verá que o limite máximo está igual ao soft limit. O administrador de sistemas/especialista pode editar o /etc/security/limits.conf e acrescentar duas linhas que irão elevar os limites para o usuário em questão:
asterisk soft nofile 1024
asterisk hard nofile 32768
No Debian, é necessário editar o arquivo /etc/pam.d/common-session e /etc/pam.d/common-session-noninteractive e adicionar a linha abaixo, para que sejam carregados para o usuário quando este iniciar uma sessão no sistema (seja ela interativa ou não)
session required pam_limits.so
Iniciando uma nova sessão com o usuário asterisk, estes serão os resultados:
$ ulimit -Ha (hard limit, só o sys-admin muda)
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 32768
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Veja que o limite a nível global agora é maior, mas como está o limite do usuário?
$ ulimit -Sa (soft limit, o próprio user muda)
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Não atende às necessidades ainda, será que agora é possível alterar?
$ ulimit -n 10240
Sim! Pois o limite global foi alterado e o usuário pode mudar até aquele máximo global. Vamos ver como ficou:
$ ulimit -Sa
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 10240
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Os exemplos acima são apenas algumas áreas que podem ser melhoradas. Vamos fazer algo relativo ao sistema agora, começando por checar o número máximo para fs.file-max:
$ /sbin/sysctl fs.file-max
fs.file-max = 1646085
E como está o uso? O comando abaixo, retornará a quantidade em uso, a pré-alocada e a máxima, apresentada no comando anterior:
$ /sbin/sysctl fs.file-nr
fs.file-nr = 1568 0 1646085
Experimente aumentar o número máximo de arquivos abertos:
# sysctl -w fs.file-max
Quando chegar em um valor seguro, aplique editando o /etc/sysctl.conf e alterar/adicionar a linha com fs.file-max
fs.file-max =
Execute em seguida:
# sysctl -p
E quanto a conexões de rede?
Experimente com a otimização da memória do TCP/IP a ser usada em setsockopt()
net.ipv4.tcp_rmem
net.ipv4.tcp_wmem
Portas para novas conexões:
net.ipv4.ip_local_port_range =
Aumente os valores de auto-tune em:
net.core.rmem_max
net.core.wmem_max
net.core.netdev_max_backlog
net.ipv4.tcp_window_scaling = 1
Se for ter muitos processos:
kernel.pid_max
Posteriormente, novos pontos de melhoria serão apresentados.
Assinar:
Postagens (Atom)