Problemas de activación WIFI6 en LG_OLED55CXPSA

 

Mi experiencia con este TV  ah sido impecable hasta ahora, llevaba un uso normal y no tenia que usar la conexión por wifi ya que tengo una por ethernet al TV limitada por la velocidad del ethernet 100Mbps, pero hace poco cambié el router a uno de WIFI6 para aprovechar toda la conexión de internet de mi ISP en mi caso GTD.

¿Qué es Wi-Fi 6?

Ya hemos visto que Wi-Fi 6 era anteriormente conocido como Wi-Fi 802.11ax, ¿pero qué es exactamente? Igual que Wi-Fi ac (ahora llamado Wi-Fi 5) se trata de un estándar de transmisión inalámbrica desarrollado por la IEEE Standards Association, y que mejora la velocidad, la estabilidad al tener muchos dispositivos conectados y la eficiencia energética de las versiones anteriores.

Wi-Fi 6 es un estándar retrocompatible, de modo que un dispositivo con conectividad Wi-Fi 6 puede conectarse a redes bajo una versión anterior, aunque en este caso no aprovecharía las novedades de la última versión. Para ello es necesario que tanto el router como el dispositivo -por ejemplo, el móvil o la tablet- sean compatibles con Wi-Fi 6.

Ventajas de Wi-Fi 6 con respecto a Wi-Fi 5

En cuanto a las ventajas de Wi-Fi 6 con respecto a las versiones anteriores, son principalmente tres: una mayor velocidad, un mejor funcionamiento cuando hay muchos dispositivos conectados a una misma red y una mejor eficiencia energética.


Una red más rápida

Un cambio habitual en cada nueva versión del estándar de Wi-Fi es la mejora en la velocidad máxima teórica de transmisión de datos. Wi-Fi 6 no es una excepción, subiendo de los 6,9 Gbps teóricos de Wi-Fi 5 hasta los 9,6 Gbps de Wi-Fi 6. Es, por tanto, en torno a un 40% más rápida que la versión anterior, al menos en condiciones ideales. Por su parte, la latencia se reduce en torno al 75%.


Además, Wi-Fi 6 puede operar tanto en la frecuencia de los 2,4 GHz como en la de los 5 GHz, a diferencia de la Wi-Fi 5 que lo hacía de forma exclusiva en los 5 Ghz. Las versiones anteriores podían conectarse tanto a redes Wi-Fi de 2,4 como de 5 Ghz, pero bajo el antiguo estándar 802.11n (ahora llamado Wi-Fi 4).

Este incremento de velocidad llega en parte gracias a la modulación 1024-QAM (frente a 256-QAM en Wi-Fi 5). Si nos imaginamos que la conexión Wi-Fi entre el router y nuestro PC o móvil es un tubo por el que viajan los datos, la modulación sería la técnica para compactar los datos para poder enviar más datos por el mismo tubo, sin aumentar el ancho de banda (o el diámetro del tubo, en nuestro ejemplo).



En mi caso tengo 400 Mbps de bajada y 200 Mbps de subida la velocidad de conexión se expresa en la siguiente tabla: para saber el valor real se debe dividir por 8 la velocidad que te dice tu proveedor., ojo ellos se aseguran entre la red local y gtd esa velocidad.




El problema es que para ver contenido en 4K HDR se necesita una velocidad de conexión que llegue hasta los  25 megabits por segundo: recomendada para calidad Ultra HD.

 Especificaciones de la WIFI del TV:





Al estar conectado por cable no se nota la diferencia ya que los test de velocidad siempre rondan los 100 Mbps dependiendo del tráfico. Asique probé el wifi6 de nuevo  desde el TV con la aplicación de Netflix para probar las conexiones de red, desconectado de la red ethernet, solo WIFI.


  1.  Abre la aplicación de Netflix en tu televisor.
  2. Entra en tu perfil de usuario y presiona sobre la opción Obtener ayuda.
  3. Presiona en Comprobar red.
  4. Después de comprobar el acceso a los servidores de Netflix te dirá la velocidad de conexión a Internet.
    En mi caso da:





    Pero desde el navegador web del TV da: (Fast.com es una herramienta hecha por netflix)



    Arquitectura

    Como se ha mencionado antes, Fast.com descarga los archivos del test a través de su red de servidores, del Open Connect Appliances (OCAs). Cada servidor OCA provee un punto final con un vídeo de 25 MB. El punto final soporta un rango de parámetros que permite buscar contenido de entre un byte y 25 MB de un video multimeda.

    Con el fin de dirigir a un usuario a un servidor de OCA, fast.com proporciona un punto final que devuelve una lista de varias URLs para diferentes OCA que son los más adecuados para ejecutar la prueba. Para determinar la lista, el punto final utiliza la lógica que es similar a la lógica que se utiliza para dirigir la entrega de vídeo netflix.com. Los OCA que se devuelven son elegidos en base a:

    • Distancia de la red
    • Carga de tráfico para cada OCA, que indica el estado general del servidor
    • Estructura de la red – Cada OCA en la lista pertenece a un grupo diferente


    Por las velocidades es que arroja el TV no aprovecha la velocidad de la WIFI, pero mejora un poco a la velocidad comparado por cable.



    Conclusiones:
    Posible solución, cambiar repetidor en modo AP ethernet limitado solo a 100Mbps por el nuevo router que viene en camino ASUS RT-AX56U AX1800 WiFi 6 y cambiar todos los cables ethernet a Clase 7, usar el wifi del TV como está por ahora.



    links: http://kr.eguide.lgappstv.com/manual/w20_mr/atsc/Apps/w5.0_mr_b08/b_spau/settings.html
    https://about.netflix.com/es/news/now-available-globally-fast-com-a-new-tool-to-check-your-internet-speed
    https://www.lg.com/cl/soporte/manuales?csSalesCode=OLED55CXPSA.AWH
    https://consumer.huawei.com/cl/routers/ax3-quad-core/

Robot para encontrar stock



 Encontré un robot en este repo publico para buscar stock de varios productos:


https://github.com/jef/streetmerchant

La aplicación esta hecha en node js, la modifique para agregar los comercios chilenos de: zmart,la polar, ripley, falabella. (seguiré agregando más en cuanto se vayan agregando más tiendas con links disponibles)

La aplicación sirve para encontrar stock NO HACER compras como los "scalpers", funciona registrando las url de los productos haciendo referencia al botón "agregar al carro" y si puede agregar el producto al carro, envía una alerta por correo electrónico a una lista de correos con el asunto el nombre del producto encontrado y la url para comprar además de una foto de la página.

Básicamente funciona usando el chromium embebido sin renderizar las paginas de los comercios, al momento de buscar utiliza un timeout para hacer search y poder probar que se pueda agregar el producto al carro, si pasa esa comprobación envía las alertas. Los métodos de alerta soy muy variados: Telegram, pushover (en el caso de las notificaciones PUSH le puse horario limite para que no molesten con las hr de sueño), SMS (lamentablemente no existen carries para Chile, seria ideal hacer una llamada a DUO), emails (agregando una clave  https://myaccount.google.com/apppasswords)  y hasta un cambio de color de luces de Phillips Hue, sería bueno probarlo.


En el ejemplo puse otra consola para probar si encontraba bien el producto:






















¿Como son las preventas en tu país?, bueno...

 


Finalmente Microsoft había anunciado que a partir del próximo jueves 5 de noviembre a las 10.00 hrs comenzará la preventa en Chile de sus nuevas consolas: la Xbox Series X y Xbox Series S. Pero que para desgracia de los consumidores, estamos en Chile y bueno esto es lo que pasa:
La lista de comerciantes de Xbox en Chile es limitada

Pero en cada uno de los sitios analizados por ejemplo los de tiendas especializadas: zmart,microplay y weplay simplemente las paginas no dieron con el trafico.











En cambio el retail tradicional soporto el trafico pero al momento de comprar hubieron errores en el carro de compras, en el caso de falabella una aplicación de react que se encarga de enviar el producto a la bolsa y luego supongo llevar la lista de productos a una pubsub, como toda aplicación en typescript espera una promesa, pero las excepciones de conexión entre el socket no estaban controladas, por lo que al usuario se le da la sensación de que tiene el producto y existe stock pero ocurre algún problema en su navegador. Al no cumplirse la promesa el botón queda en gris eternamente hasta que muera la session de usuario. 


Ripley, Paris y abcdin aun no liberan stock en sus sitios (al momento de escribir esto).





Recomendación para comprar en Cybermonday

 Tips para comprar en el cybermonday:


Primero comprar precios: en https://www.solotodo.cl/ y https://knasta.cl/











Buscar empresas alternativas que le distribuyen al retail tradicional ya que ellos le aplican un sobreprecio a los mismos productos que ofrecen:


Algunos de los distribuidores que eh comprado:

https://loichile.cl/

https://metinca.cl/

https://bestmart.cl/

Ej hoy en cyberday:

https://www.linio.cl/p/amazon-echo-dot-3-generacio-n-alexa-espan-ol-latino-original-ryh0vv

$43.990

https://bestmart.cl/collections/cyber/products/echo-dot-3ra-generacion

$37.990

Con ese sobreprecio el retail se hace un margen del 13%, sin necesidad de adquirir despacho ni importar productos, solo ocupa el stock y el despacho del proveedor.

Fijarse en la tiendas de retail donde diga:

"Enviado y Vendido por:

4.6 

MeTinca Spa"











Si no conocen o tienen desconfianza con un distribuidor que no conozcan la mayoría ya está en Mercadolibre, utilizen "MercadodePago"  para que les reembolsen el dinero.


Fix latencia en GCP en Cloud Endpoint con Request body superior al buffer por defecto de Nginx .

 El síntoma es el siguiente:

1.- Existe mucha concurrencia en request en los endpoint de metadata, cuando se ejecutan acciones de reproceso de información el cuerpo del mensaje Body supera,
el tamaño por defecto del buffer en el Cloud Endpoint (request body size), la versión que estamos usando es la  1.32.0. 

2.- Al superar el tamaño del buffer el  nginx  es obligado a usar disco para respaldar la petición en la VM creada, para no perder el request antes de que llegue al Backend, en el Balanceador de Carga.
3.- Por efecto de usar disco en vez de memoria RAM disponible del Cluster, la latencia crece.

4.- Por este círculo vicioso estamos perdiendo peticiones sin llegar al Backend, el cliente pierde la conexión el balanceador limpia los request con código HTTP 499 al cumplirse el timeout del Backend Config , el cliente recibe como resultado un  HTTP 502.



Version actual del Docker Image de los endpoint:
image: gcr.io/endpoints-release/endpoints-runtime:1.32.0

Investigar si la nueva versión proporciona una mejora y si conviene una migración de ESP and ESPv2 Beta

Favor aplicar en el pipeline de los Endpoint modificando el Jenkins File el tamaño personalizado del buffer de los endpoints ya que por defecto es de solo 128k:

github.com/cloudendpoints

La documentación indica lo que {{client_body_buffer_size}}hace:

Establece el tamaño del búfer para leer el cuerpo de la solicitud del cliente. En caso de que el cuerpo de la solicitud sea más grande que el búfer, todo el cuerpo o solo una parte se escribe en un archivo temporal. De forma predeterminada, el tamaño del búfer es igual a dos páginas de memoria. Esto es 8K en x86, otras plataformas de 32 bits y x86-64. Suele ser de 16K en otras plataformas de 64 bits.


Ingress exposes HTTP and HTTPS routes from outside the cluster to services within the cluster. Traffic routing is controlled by rules defined on the Ingress resource.

Here is a simple example where an Ingress sends all its traffic to one Service:





Esta memoria está en uso sólo mientras se carga una solicitud; una vez que se pasa al backend, la memoria se libera nuevamente. Si una solicitud es mayor que este valor, irá a un archivo temporal y aparecerá una advertencia en el registro de errores.

Esto significa que debe tener suficiente RAM para almacenar cualquier carga simultánea, o su servidor comenzará a intercambiarse.

El impacto en el rendimiento de esto probablemente no sea tan grande, a menos que tenga una gran limitación de memoria y obtenga muchas cargas al mismo tiempo

https://github.com/cloudendpoints/endpoints-tools/commit/5f4bfdcc26926eb1120b8b1cc282284db4334d48

Solución:

  1. Solución más barata, especificar una configuración en el Ingress, personalizada de Nginx cuando se haga deploy con la opción del tamaño del buffer en 10MB.:
    nginx.ingress.kubernetes.io/client-body-buffer-size: 5m
    nginx.ingress.kubernetes.io/proxy-body-size: 15m
    nginx.ingress.kubernetes.io/proxy-buffering: "on"
    nginx.org/client-max-body-size: 15m

  2. Solución más cara, habilitar la API https://apigee.google.com/edge y habilitar las configuraciones:


Errores de Cuotas en PubSub GCP caso Real






Detalle del error en el navegador:



Como explico en el tw hace poco Falabella llego al limite de la cuota para ingresar request al PubSub de GCP:
RESOURCE_EXHAUSTED429This error indicates that the quota for the cloud project has been exceeded, or that there are too many concurrent requests from the client.See the error message for details. Review the current quotas, and request additional quota if necessary. The client can retry with exponential backoff if this is a transient spike in traffic.
Finally, make sure that the quota is being counted against the intended project. For more discussion of this topic, see Project usage attribution.


Límites de recursos

RecursoLímites
Proyecto10.000 temas
10.000 suscripciones vinculadas o sin vincular
5000 capturas
Tema10.000 suscripciones vinculadas.
5000 capturas vinculadas.
SuscripciónRetiene mensajes no confirmados en el almacenamiento persistente durante 7 días desde el momento en que se publicaron. No hay límite en el número de mensajes que se pueden retener.
En el caso de que no se detecte la presencia de un cliente durante 31 días, las suscripciones pueden eliminarse automáticamente. Esta presencia se detecta a través de llamadas como Pull o Acknowledge, o bien de operaciones de inserción realizadas correctamente.
Solicitud de publicación10 MB (tamaño total).
1000 mensajes.
MensajeTamaño del mensaje (el campo data): 10 MB.
Atributos por mensaje: 100.
Tamaño de clave de atributo: 256 bytes.
Tamaño de valor de atributo: 1024 bytes.
Mensajes de inserción pendientes

3,000 * N de forma predeterminada.

30,000 * N para suscripciones que confirman más del 99 % de los mensajes y tienen una latencia media inferior a 1 s para las solicitudes de inserción. l10n-attrs-original-order="of,push,request">

N es el número de regiones de publicación. Para obtener más información, consulta esta página sobre cómo usar las suscripciones de inserción.

Transmisiones de StreamingPull10 MB por segundo por transmisión abierta
Mensajes Pull/StreamingPullEl servicio puede imponer límites al número total de mensajes StreamingPull pendientes por conexión. Si llegas a estos límites, incrementa la frecuencia con la que confirmas los mensajes y el número de conexiones que usas.


Para más detalles Documentación de las Cuotas de pubsub/quotas?hl=es

La creación de mi ambiente Ambilight

 Primero que todo estaba viendo el canal de Machina4k y al principio adquirí el  Pack Philips Hue Tira LED 2 Metros + Bridge Hue, al instalar el sistema me di cuenta que para activar el Philips  Sync con la APP se necesita todo en una misma red lo ideal ese este todo por Ethernet. En mi ambiente conviven:
Barra de sonido, smart TV , Play 4 Pro, 2 notebook y teléfono, kindle la red wifi no estaba dando abasto si quería enviar contenido a reproducir a la TV y jugar con la Playstation con el  Ambilight al mismo tiempo.





Primero que todo rescate un router y lo configure en modo Brige.

Lo siguiente fue conocer como configurarlo en modo Brige, no tenia la clave de admin. 
Para conectarse se debe cambiar la IP fija a 192.168.1.252 mascara: 255.255.255.0 y puerta de enlace 192.168.1.1 y usar el puerto Eth1. 
telnet 192.168.1.1
User: Administrator Pass: Bhs!tg789vn!v3!!
env set var SESSIONTIMEOUT value 0
saveall
ppp flush
ppp relay flush
ip ifdetach intf IPVideo
ip ifdetach intf=IPVoz
ip ifdetach intf=Gestion
ip ifdelete  intf=IPVideo
ip ifdelete intf=IPVoz
ip ifdelete intf=Gestion
eth flush
eth flush
eth vlan delete name gestion
eth vlan delete name video
eth vlan delete name voz
eth vlan add name dummy vid 10
eth bridge ifadd intf vdsl2
eth bridge ifconfig intf vdsl2 dest efmif1
eth bridge ifattach intf vdsl2
eth bridge ifadd intf EthWan
eth bridge ifconfig intf EthWan dest ethif5
eth bridge ifattach intf EthWan
eth bridge vlan ifadd name=inet intf=vdsl2 untagged=disabled
eth bridge vlan ifadd name=inet intf=EthWan untagged=disabled
eth bridge vlan ifadd name=inet intf=OBC
eth bridge vlan ifadd name=inet intf=ethport1
eth bridge vlan ifadd name=inet intf=ethport2
eth bridge vlan ifadd name=inet intf=ethport3
eth bridge vlan ifadd name dummy intf vdsl2 untagged enabled
eth bridge vlan ifadd name dummy intf EthWan untagged enabled
eth bridge ifconfig intf vdsl2 vlan dummy
eth bridge ifconfig intf EthWan vlan dummy
eth bridge ifconfig intf ethport1 vlan inet
eth bridge ifconfig intf ethport2 vlan inet
eth bridge ifconfig intf ethport3 vlan inet
eth bridge vlan ifdelete name=default intf=vdsl2
eth bridge vlan ifdelete name=default intf=EthWan
eth bridge ifconfig intf vdsl2 vlan inet
eth bridge ifconfig intf EthWan vlan inet
eth bridge config vlan enabled
wireless radio state disabled
saveall
saveall



Con esto se pierde la configuracion de Wifi y solo queda el uso de la red en modo brige con el puerto eth1 como WAN (ingreso de internet del router 1) y los otros 3 puertos para conectar lo demás en mi caso la Play, TV y barra de sonido.


Ahora entre el router 1 y el router 2 en modo Brige hay  una habitación entre medio y no voy a cablearlo todo hasta llegar a la segunda red, es por eso que tenia un Powerline de 600Mbps que estaba conectado solo para la Play 4 pro, el powerline aguanta hasta 300 metros de largo de red eléctrica.



Los  600 Mbps  del powerline dan hasta 75 MB/s  Velocidad suficiente a repartir en 3 dispositivos.





El Router en cuestión TG789vn tiene un BUG con el dlna esto se soluciona enviando más comandos por telnet: al 192.168.1.1 recomiendo enviar estos comandos antes de setaer los cambios del modo brige ya que el router se reinicia después de guardar los cambios para que al momento de apagar no se borren.
eth bridge igmpsnooping config brname=bridge state=disabled
saveall

 Que implica el fix de DLNA , este sirve para poder enviar contenido a la TV en la misma red, con el se pueden proyectar el contenido del PC en la otra habitación o usar el modo Remote Play para poder sincronizar el  Ambilight  al contenido proyectado de la Playstation.










Si quieren usar el Ambilight con la aplicacion Hue Sync y Chrome solo sirve para los videos en youtube. El Remote Play no sirve para video donde se bloquean las escenas, ninguna aplicación que se instale en la consola se muestra en el remote play. Ahora el Hue Sync usando DLNA viendo streaming desde el PC con el navegador Chrome hacia la TV no funcionan: CRUNCHYROLL, Netflix, Prime Video, HBO GO, Hulu, solo Youtube. Pero si con Mozilla!! no probe con HBO ya que no tengo cuenta desde que terminó GOT.

La razón tiene que ver con las bibliotecas QtGraphicalEffects que son de sw libre que utiliza la APP Hue Sync para comunicarse con el Bridge, supongo que debe traducir la info del video y específicamente leer los colores en la info y cada navegador tiene una forma distinta de ver el contenido DRM.

Comparativa de soporte DRM

Para solucionar el problema de Chrome habría que usar otro User Agent del navegador hay plugins que permiten eso:


User Agent modificado



ps: no compren el la tienda de Enel se demoran en enviar los productos hasta en 1 mes y  4 reclamos de por medio.







¿Que herramientas de CD/CI elegir? ¿Cómo armar un Stack tecnológico?

Vi un post en un grupo de programadores y vi algunas preguntas interesantes del desarrollo que intente responder desde mi punto de vista y experiencia.


¿Cuanto tardan desde que tienen un release desarrollado hasta llegar a producción?.
Un día, generalmente cuando se hace el review en un Spint se dejan los release listos.
Los pasos a producción se planifican, duran poco tiempo dependiendo de los sistemas involucrados.
¿Ocupan alguna herramienta de CD/CI?
Bamboo, Jenkins
¿Interactuan con otras áreas a través de tickets?.
Tickets en Jira SelfService (generalmente toda la suite de atlassian)
¿Pruebas unitarias, de integración, manuales, de seguridad?.
Pruebas unitarias se hace automáticas al codigo, hay reglas de cobertura de código, generalmente SonarQube o PMD.
La documentacion se adjunta en el proyecto Jira cuando se hace la toma de control por el área de soporte.
Seguridad se hace automática con Veracode existe un stage dentro del CD/CI que si no se cumple no permite el deploy.
Existe reglas de firewall en el caso de exponer urls publicas que las lleva el area de seguridad si es Cloud se usa Cloud Armor o su simil en AWS, Azure etc..
Si el proyecto esta en cloud también se agrega seguridad por AWT o apikey a las APIS para mayor seguridad también se protege el acceso por URL
¿Cuantas iteraciones promedio en certificación?,
¿?
¿Kpis?.
No es mi área de expertice, pero se que se usan herramientas de monitoreo y Dashboard como Google Analytics, si estás interesado en un area especifica al final dare una url para ver ejemplos.
Yo creo que los kpis deben dividirse por área de interes, segun el negocio puede cambiar el área de interes.
KPI de ventas
KPI de retail
KPI de producción
KPI marketing digital
KPI redes sociales
¿Que tipo de exigencias respecto a documentación deben cumplir?,
Generalmente ya hay un formato predefinido y el estandar de exigencia se lo da la misma empresa y hay que adaptarse a ello.
¿y la gestión de la configuración, alguien la audita?,
No es mi área de expertice, pero hay empresas que tienen sistemas que deben cumplir estándar pci-dss y el software debe ser auditado.
Logs código, etc, generalmente lo hace una entidad externa. La decision de permanecia de consultoras en empresas grandes depende de este paso.
Hay herramientas como Kibana, Dynatrace, Kiuwan
¿tienen detallados estos procesos?.
No es mi área de expertice
¿Que hacen los desarrolladores mientras se ejecutan los procesos de despliegue?
El desarrollo nunca se detiene, solo sigue el siguiente sprint o kanbam.
Si quieres ver el Stack tecnológico de varias empresas visita:
Espero que les ayude.

Fix code SpringBoot SSRF - Exploiting URL Parser

Este tipo de vulnerabilidades se da cuando un atacante tiene la habilidad de hacer que el servidor objetivo inicie una nueva conexión contra otro equipo, independientemente de si al equipo remoto al que se conecta se encuentra dentro o fuera de su red interna.
En la mayoría de los casos en donde un ataque de “SSRF” adquiere un mayor nivel de criticidad es en los entornos en los que a través de ésta técnica es posible conectarse a equipos en la red local y que de otro modo sería imposible acceder a ellos desde una red externa.

Este ataque no solo aplica a conexiones HTTP, sino que puede ser combinado con otro tipo de ataques como “XML External Entities”, o incluso extrapolado a otro tipo de protocolos como conexiones de SQL Server en las que mediante la modificación de la cadena de conexión es posible acceder a servidores SQL localizados en la red local. En 2010 ya se habló por primera vez de este último ataque (“CSPP – Connection String Parameter Pollution“) junto con la combinación con un “SSRF”.
En cuanto a la detección de este tipo de vulnerabilidades, no resulta trivial debido a que podemos encontrar este error en diversos entornos y/o protocolos, e incluso algunos de ellos no muestran una alteración en la respuesta a la solicitud, por lo que la única forma de “cazarlos” es en base a un sistema que detecte la conexión saliente.
Ejemplo:
                    



  • Urls parser por lenguaje de programación:








private static void getEmployees(String uri)
{
     
    RestTemplate restTemplate = new RestTemplate();
    String result = restTemplate.getForObject(cleanUrl(url), String.class);
    
    System.out.println(result);
}


    /**
   * cleanUrl 
   * @param url
   * @return
   * @throws EncodingException
   */
  public static String cleanUrl(String url) throws EncodingException {
    return ESAPI.encoder().decodeFromURL(ESAPI.encoder().encodeForURL(url));

  }
}
más info: [CB17] A New Era of SSRF - Exploiting URL Parser in Trending Programming Languages!

Problemas de activación WIFI6 en LG_OLED55CXPSA

  Mi experiencia con este TV  ah sido impecable hasta ahora, llevaba un uso normal y no tenia que usar la conexión por wifi ya que tengo una...