Auteur Sujet: Remplacer le boitier ONU  (Lu 15958 fois)

0 Membres et 1 Invité sur ce sujet

Thornhill

  • Client SFR fibre FTTH
  • *
  • Messages: 2 160
  • Saint-Médard-en-Jalles (33)
Remplacer le boitier ONU
« Réponse #60 le: 03 janvier 2019 à 11:55:53 »
Je suppose qu'avec 2 media converters l'affaire serait pliée non, étant donné que tu as validé que ton SFP fibre 1G était accepté par la Freebox et que le boitier ONU était accepté par le media converter ?

ONU => media converter => RJ45 => media converter => SFP fibre 1G => Freebox

ceesse

  • Client Free fibre
  • *
  • Messages: 7
  • 77350
Remplacer le boitier ONU
« Réponse #61 le: 03 janvier 2019 à 12:18:21 »
Je suppose qu'avec 2 media converters l'affaire serait pliée non, étant donné que tu as validé que ton SFP fibre 1G était accepté par la Freebox et que le boitier ONU était accepté par le media converter ?

ONU => media converter => RJ45 => media converter => SFP fibre 1G => Freebox

a voir pourquoi pas ? j'ai pas testé ça car je n'ai pas le matériel à disposition...

ceesse

  • Client Free fibre
  • *
  • Messages: 7
  • 77350
Remplacer le boitier ONU
« Réponse #62 le: 03 janvier 2019 à 16:45:33 »
Je suppose qu'avec 2 media converters l'affaire serait pliée non, étant donné que tu as validé que ton SFP fibre 1G était accepté par la Freebox et que le boitier ONU était accepté par le media converter ?

je vais etre plus clair : la freebox n'a pas accepté mon sfp fibre 1G car la freebox est dans son carton ^^ je n'utilise plus du tout la freebox serveur ;-)

Ilyazam

  • Client Free fibre
  • *
  • Messages: 92
  • Cholet (49)
Remplacer le boitier ONU
« Réponse #63 le: 05 janvier 2019 à 00:18:37 »
Je suppose qu'avec 2 media converters l'affaire serait pliée non, étant donné que tu as validé que ton SFP fibre 1G était accepté par la Freebox et que le boitier ONU était accepté par le media converter ?

ONU => media converter => RJ45 => media converter => SFP fibre 1G => Freebox
ça marche avec un SFP fibre 1G sur la Freebox et un switch SFP à la place des deux media converters, donc ça devrait marcher si on met du RJ45 entre.
Il faut peut-être garder le media converter SFP/SFP+ Free et brancher le SFP intégré au media converter Free sur un media converter SFP/RJ45.

Coté flux TV, tu es parvenu à quelque chose ?
Je n'ai pas essayé.
J'imagine qu'on peut soit remettre le Freebox Server derrière le routeur perso en bridgeant les VLANs qui vont bien (835 pour les services ?) et essayer après de comprendre comment le tout marche pour re-supprimer le Server.
Je ferai peut-être un test un jour avec la mini 4K, que j'ai rangé dans son carton pour le moment.

Ilyazam

  • Client Free fibre
  • *
  • Messages: 92
  • Cholet (49)
Remplacer le boitier ONU
« Réponse #64 le: 12 janvier 2019 à 18:47:44 »
J'ai fait deux tests en plus pour la téléphonie et la TV.
- pour la téléphonie :
La Freebox utilise le VLAN 835 pour les services (836 pour Internet) : on peut diriger le VLAN 836 vers un routeur perso et le VLAN 835 vers la Freebox Server avec un switch manageable.
La Freebox pourra alors toujours servir pour le téléphone.
Bon c'est juste pour le test, je ne vais pas essayer de faire du SIP ou de vérifier si ça fonctionne sur la durée.
 
- pour la TV :
Je fais des tests avec la Freebox Mini 4K
Les flux TVs (pour l'appli "Freebox TV") passent en multicast sur le VLAN 835.
Le problème est que si la Freebox Mini 4K n'a pas Internet Android TV se bloque sur une image "aucune connexion Internet" et on ne peut plus lire de programme TV.
On ne peut donc pas mettre la Mini 4K derrière le serveur qui ne serait connecté qu'au VLAN 835.

De l'autre côté, si je mets la Mini 4K derrière mon routeur qui ne gère pas la partie TV je ne peux pas regarder ce qui nécessite une authentification sur le réseau de Free : Freebox TV, replay, canal+, actu Free ...
Youtube fonctionne toujours par contre. Je ne peux quand même pas regarder la TV par la TNT
De plus si la Freebox Mini 4K ne démarre pas si elle n'est pas associée au Server on ne peut pas aller loin .

Du coup je vois trois solutions :
- réimplèmenter les fonctionnalités du serveur sur un routeur : ça s'annonce complexe, je ne vais pas faire ça
- mettre la Mini 4K derrière le serveur, lui-même derrière mon routeur :
                                                   VLAN 836                    +--------+
                                            +--------------------------------->+Routeur |    VLAN 836
                                            |                                  |VyOS    +----------+
+------------+   Untagged          +--------+---+                              +--------+    +-----v-------+
| Freebox    +-------------------->+Freebox     |                                            | ONT         |
| Mini 4K    |                     |Server      +------------------------------------------->+             |
+------------+                     +------------+      VLAN 835                              +-------------+

Problème : il y a deux VLANs 836 qui ne doivent pas communiquer ensemble + le clonage d'adresse MAC entre interfaces vlan836 du routeur et de la Freebox
Ça peut se résoudre avec deux switches physiques séparés mais je n'ai pas de switch inutilisé avec au moins un port SFP. Je testerai peut-être en créant deux bridges sur mon switch Mikrotik

- paramétrer un proxy sur la Freebox Mini 4K pour qu'Android TV ait Internet, mais laisser la Freebox Mini 4K derrière la Freebox (server) pour avoir la communication sur le VLAN 835 :
                                   +------------+
          Internet pour Android TV |Proxy HTTP  |
        +------------------------->+            |                              +--------+
        |                          +------------+----------------------------->+Routeur |    VLAN 836
        |                                                                      |VyOS    +----------+
+-------+----+                     +------------+                              +--------+    +-----v-------+
| Freebox    +-------------------->+Freebox     |                                            | ONT         |
| Mini 4K    |  Flux TV Free       |Server      +-------------------------------------------^+             |
+------------+                     +------------+      VLAN 835                              +-------------+

Cette solution à l'avantage de ne pas avoir deux VLANs identiques mais nécessite un proxy qui ait une patte sur le réseau Freebox 4k/Server et une derrière le routeur.

Du coup je vais tester la troisième puis la deuxième je pense.
« Modifié: 16 janvier 2019 à 21:50:46 par Ilyazam »

patou44

  • Client Free adsl
  • *
  • Messages: 3
Remplacer le boitier ONU
« Réponse #65 le: 16 janvier 2019 à 14:08:19 »
Le truc pour utiliser Wireshark, c'est qu'il faut d'une part un port SFP pour brancher le media converter Free et d'autre part un moyen pour brancher le port SFP de la Freebox : SFP cuivre, câble direct attach ou deux SFP + une fibre.

J'ai pas spécialement envie d'envoyer la capture Wireshark vu qu'il y a quelques infos persos dedans (adresses IP + un peu de trafic LAN qui trainait sur le port de l'ONT) mais quand tu auras fait une capture tu auras ça avec le filtre en haut pour ne voir que le DHCPv6 du VLAN 836 (Internet) : voir première capture

On voit que la Freebox demande une option MAP-E, qui contient les paramètres liés au 4rd

Dans l'offre du serveur DHCP, en plus des paramètres classiques (IP, préfixe IPv6 /60, DNS) on a l'option MAP-E : voir deuxième capture

Avec entre autres le préfixe IPv4 4rd (91.160.0.0/12), le préfixe IPv6 associé (2a01:e0a::/38), le Border Router (extrémité du tunnel 4rd pour sortir sur Internet IPv4 classique, 2a01:e00:29:200a::ffff), et les paramétrages de ports.
Je n'ai pas trop compris comment la Freebox génère l'IPv6 et l'IPv4 4rd à partir de ces infos, j'imagine qu'elle se configure via les communications du VLAN 835 (services) qui sont chiffrées.
A noter que j'ai eu ces paramétrages mêmes après avoir activé l'option IP full stack, qui me donne une IP dans le range 82.64.0.0/14.

Pour vraiment configurer le tunnel je me suis basé sur des paquets encapsulés : ici une réponse depuis un serveur distant : voir dernière capture
Ici la source IPv6 correspond au routeur 4rd associé à mon IP en 82.64.xxx.xxx

Bonjour Ilyazam,

Un grand merci à vous, grâce à vos informations j'ai pu me connecter sur un DSLAM ipv6 avec un modem/routeur OpenWrt.
Pour ceux que ça intéresse, il faut installer le paquet 'map' et ajouter une interface MAP / LW4over6 avec ces paramètres :


Type               : MAP-E
BR / DMR / AFTR    : 2a01:e00:29:200a::ffff
IPv4 prefix        : 91.160.0.0
IPv4 prefix length : 12
IPv6 prefix        : 2a01:e0a::
IPv6 prefix length : 38
EA-bits length     : 22
PSID-bits length   : 0
PSID offset        : 0


Puis lier le "Tunnel Link" à l'interface IPv6 paramétrée.

Les adresse/tunnel/routes sont calculés et définis automatiquement. Tout ceci est défini dans la RFC7597 (https://tools.ietf.org/html/rfc7597).

Cependant, ne pouvant me connecter en VDSL (je suis trop loin du DSLAM), je n'arrive pas obtenir de réponse DHCP et ne peux donc me baser que sur vos informations. La configuration précédente fonctionne pour l'IP partagée mais pas pour l'IP full stack. Vous serait-il possible de nous communiquer le retour DHCP d'une telle IP ?

J'imagine qu'il y a


Type               : MAP-E
BR / DMR / AFTR    : 2a01:e00:29:200a::fffd
IPv4 prefix        : 82.64.0.0
IPv4 prefix length : 14


En attendant je fais comme vous en définissant IPs, tunnels et routes à la main  ;) Mais sachant qu'OpenWrt supporte MAP-E, autant l'utiliser.

Bonne journée à tous

Ilyazam

  • Client Free fibre
  • *
  • Messages: 92
  • Cholet (49)
Remplacer le boitier ONU
« Réponse #66 le: 18 janvier 2019 à 22:05:47 »
Bonjour,
Je ne peux pas, je n'ai jamais vu de réponse DHCP avec l'IP full stack une fois l'option activée (je recevais toujours l'IP partagée dans l'option MAP-E). Je suppose que l'IP est configurée en statique par le protocole de provisionning de la box pour remplacer l'IP partagée.

Merci du tuyau pour l'interface LW4over6/ le package map, j'essaierai sur mon Turris Omnia.

patou44

  • Client Free adsl
  • *
  • Messages: 3
Remplacer le boitier ONU
« Réponse #67 le: 19 janvier 2019 à 08:51:47 »
Bonjour,
Je ne peux pas, je n'ai jamais vu de réponse DHCP avec l'IP full stack une fois l'option activée (je recevais toujours l'IP partagée dans l'option MAP-E). Je suppose que l'IP est configurée en statique par le protocole de provisionning de la box pour remplacer l'IP partagée.

Merci du tuyau pour l'interface LW4over6/ le package map, j'essaierai sur mon Turris Omnia.

Merci pour votre réponse.

J'ai oublié un détail concernant MAP-E dans OpenWrt, par défaut encaplimit est défini et pose problème avec free (il s'agit probablement d'un bug, ce patch https://github.com/openwrt/openwrt/commit/d9691b66e2781a43cd4f508605dcfe88c4bbd042 était sensé régler le problème). Il faut donc ajouter

option encaplimit 'ignore'

à l'interface dans /etc/config/network

De la même manière, si vous voulez utiliser iproute pour définir le tunnel de l'IP full, il ne faudra pas oublier d'ajouter

encaplimit none

à la commande de définition de votre tunnel.

Bon bidouillage  ;)

lRyi9Nuis6Ex6G89FKxE

  • Client Free fibre
  • *
  • Messages: 5
Remplacer le boitier ONU
« Réponse #68 le: 14 juillet 2019 à 18:26:57 »
Bonjour à vous tous,

J'ai passé déjà plusieurs heure à reproduire le POC de Ilyazam sur mon Ubiquity Edge Router Pro, qui semble supporter le IPIP6.

J'ai créé mon interface Tun0 en reproduisant fidèlement le modèle proposé.
Mais j'ai plusieurs soucis.

Cette ligne de configuration me pose beaucoup de soucis. Dois-je choisir une IP au hasard dans le prefix IPV6 qui m'a été attribué ?
Citer
local-ip 2a01:e0a:IPv6_DU_TUNNEL_4RD


Aussi, et je pense que c'est de là que viens mon plus gros problème : Je n'arrive pas à communiquer en DHCPv6 avec le routeur d'extrémité Free. Lorsque j'active l'interface en DHCPv6 rien ne se passe, hormis de la discussion ICMPv6 multicast (indiqué comme du "neighbor sollicitation" par wireshark), de l'ICMPv6 qui échoue (destination unreachable) mais aucune discussion DHCPv6.

Citer
- la récupération des infos de configuration via DHCPv6 (options particulières) : je n'ai pas cherché à reproduire ça et j'ai tout mis en statique dans ma configuration après avoir fait une capture Wireshark sur ma box.

J'en viens donc à ma question : Quels sont les fameuses informations de configuration DHCPv6 en question à récupérer ?

D'avance merci :)

PS : Ma configuration est on ne peut plus simple :

Actuelle :
PTO -(fibre UPC/APC monobrin ) - ONU - (DAC 1g) - freebox en mode bridge - (rj45) - Ubiquity Edge Router Pro

Objectif :
PTO -(fibre UPC/APC monobrin ) - ONU - (DAC 1g) - Cage SFP Ubiquity Edge Router Pro

Ilyazam

  • Client Free fibre
  • *
  • Messages: 92
  • Cholet (49)
Remplacer le boitier ONU
« Réponse #69 le: 17 juillet 2019 à 15:50:16 »
Cette ligne de configuration me pose beaucoup de soucis. Dois-je choisir une IP au hasard dans le prefix IPV6 qui m'a été attribué ?
Je l'ai récupéré à partir des captures d'écran du trafic de ma vrai Freebox.
Pour une IP partagée :
On peut aussi l'avoir à partir de l'IPv4 :
https://tools.ietf.org/html/rfc7600#section-4.5

Il faut :
1 : convertir l'IPv4 en binaire (par exemple avec le site https://www.miniwebtool.com/ip-address-to-binary-converter/?ip=12.34.56.78 )
Pour mon IP partagée :
01011011 10100101 10111011 00000100

2 : convertir le préfixe IPv6 en binaire : récupérer notre adresse avec https://ip.lafibre.info et la convertir en binaire avec le site https://www.easycalculation.com/other/ipv6-to-binary.php ).
Ne garder que les 60 premiers bits :
0010101000000001 0000111000001010 0000000101101101 1100001100000010 1110001001011110 0101100000000000 1110101001110111 1001001110001100

3: créer la nouvelle IPv6 binaire (celle à mettre sur le routeur) comme ceci :
0010101000000001 0000111000001010 0000000101101101 1100001100000000 0000000000000000 0101101110100101 1011101100000100 0000000000000000
préfixe étape 2
IPv4 en binaire de l'étape 1

A noter : j'ai les 16384 premiers ports donc pas d'offset (si je comprends bien la RFC ça veut dire PSID = 0, ce qu'on retrouve dans la réponse DHCPv6). Je ne suis pas sur de si cette info apparaît dans l'IPv6 du tunnel ou non)

4: reconvertir l'IP en format classique et la mettre en tant qu'IPv6 locale

Configuration de l'interface :
Sur VyOS :
    tunnel tun0 {
        address IPV4/32
        encapsulation ipip6
        local-ip IPv6FFFF0000
        mtu 1500
        multicast disable
        policy {
            route Tunnel
        }
        remote-ip 2a01:e00:29:200a::ffff
    }


Pour une IP "full stack" (dédiée)
Il ne semble pas y avoir de lien entre IPv4 et IPv6, d'ailleurs cette IP n'est pas fournie en DHCPv6 contrairement à l'IP partagée : je suppose que la box est provisionnée avec une nouvelle configuration incluant l'IP une fois l'option activée
L'IPv6 du tunnel que j'utilise de mon côté :
2a01:e0a:1111:1110:0:ffff:ffff:0
préfixe IPv6 associé à la ligne/l'abonné

Configuration de l'interface :
Sur VyOS :
    tunnel tun0 {
        address IPV4/32
        encapsulation ipip6
        local-ip IPv6_avec_0:0000:ffff:ffff:0000
        mtu 1500
        multicast disable
        policy {
            route Tunnel
        }
        remote-ip 2a01:e00:29:200a::fffd
}
Le border router est différent

A noter : la MTU 1500 fonctionne car mon interface parente est en MTU 1700 (ce qui avait marché quand j'avais testé).
Pour tester commencer par du ping / ping6 puis du tcp (par exemple http://perdu.com qui est une page web très légère, 505 octets transférés hors en-têtes d'après Firefox)


Pour la partie DHCPv6/interface parente :
Il faut cloner l'adresse MAC de la Freebox et bien faire une requête DHCPv6 sur le VLAN 836 (avec l'option Prefix Delegation)
Les options particulières = les préfixes 4rd IPv4/IPv6 et le border router (voir PJ)

Ma conf, très simple :
    ethernet eth2 {
        address dhcpv6
        address IPv6_etape_4/128
        duplex auto
        ipv6 {
            address {
            }
            dup-addr-detect-transmits 1
        }
        mac MAC_FREEBOX
        mtu 1700
        smp_affinity auto
        speed auto
    }

Remplacement de l'ONU
Pour revenir sur le sujet du titre (remplacement de l'ONU) :
L'ONU contient une puce Broadcom bcm55030.
Son boulot est d'adapter le 10/1G Base PRX (du SFP WTD fourni par Free et mis dans l'ONU) en 1000 Base CX (DIrect Attach 1G).
De ce que je comprends il ne fait que ça, et c'est le SFP qui gère tout le reste (SLID, provisioning, chiffrement ...)
Je n'ai pas entendu parler de Media Converters gérant le 10/1G Base PRX (mes switches Mikrotik ne supportent pas le SFP Free, j'imagine que le souci vient de là)
« Modifié: 04 août 2019 à 08:14:57 par Ilyazam »

lRyi9Nuis6Ex6G89FKxE

  • Client Free fibre
  • *
  • Messages: 5
Remplacer le boitier ONU
« Réponse #70 le: 29 juillet 2019 à 21:15:51 »
Après-midi numéro 2... Échec numéro 2  ;D

Déjà je te remercie pour ta réponse rapide.

J'ai pu avancer, et le fonctionnement devient un peu plus clair dans ma tête sans pour autant tout comprendre.

 - Déjà, j'ai une adresse IP full stack.
 - J'ai réussi, sans vraiment comprendre pourquoi, à avoir une IPv6 avec avoir configuré mon interface WAN sur le Vlan 836 en DHCPv6

Voilà les configurations:

Mon tunnel :

    ipv6-tunnel v6tun0 {
        address 82.64.xx.xx/32  (adresse attribuée par free après la réservation de l'option full stack)
        description test
        encapsulation ipip6
        local-ip 2a01:e02:xxxx:xxxx:xxxx::8 (Ici j'avoue ne toujours pas comprendre quoi mettre )
        mtu 1500
        remote-ip 2a01:e0a:2b1::fffd (spéculation totale)
        traffic-policy {
        }
    }

Mon interface parente :

    ethernet eth7 {
        duplex auto
        ipv6 {
            dup-addr-detect-transmits 1
        }
        mac f4:xx:xx:xx:xx:xx (spoofé de la box)
        mtu 1700
        speed auto
        vif 835 {
            address dhcp
            mtu 1700
        }
        vif 836 {
            address dhcpv6 (Ca ca me donne une jolie ipv6 en /64 )
            mtu 1700
        }
    }


Le problème que j'ai, c'est que je n'arrive pas à récupérer un échantillons de paquets entre la box et et le routeur free en face. J'ai bien essayé d'y mettre un switch en intermédiaire entre l'ONT et la BOX (avec un port mirroring) allez savoir pourquoi la box ne dépasse pas l'étape 4, l'étape qui m'intéresse justement (attente de DHCP).


J'avoue qu'aussi, je n'ai pas bien compris pourquoi, dans la configuration de ton tunnel avec l'IP full stack, tu dois avoir en "local-ip " l'ipv6 calculée à partir de l'IP de ton ipv4 partagée.

Citer
Pour une IP "full stack" (dédiée)
Il ne semble pas y avoir de lien entre IPv4 et IPv6, d'ailleurs cette IP n'est pas fournie en DHCPv6 contrairement à l'IP partagée : je suppose que la box est provisionnée avec une nouvelle configuration incluant l'IP une fois l'option activée
L'IPv6 du tunnel que j'utilise de mon côté :
2a01:e0a:1111:1110:0:ffff:ffff:0
préfixe IPv6 associé à la ligne/l'abonné

Configuration de l'interface :
Sur VyOS :
Code: [Sélectionner]

    tunnel tun0 {
        address IPV4/32
        encapsulation ipip6
        local-ip IPv6del'étape4
        mtu 1500
        multicast disable
        policy {
            route Tunnel
        }
        remote-ip 2a01:e00:29:200a::fffd
}

D'avance, je te remercie pour ton aide.
Si j'arrive à faire fonctionner le bousin je ferais en sorte de faire un joli tutoriel sur ce thread qui est une excellente initiative (Au moins pour l'ubiquity en ZTD et ZMD) : https://lafibre.info/remplacer-freebox/index-des-solutions-de-remplacement-de-la-freebox/msg668255/#msg668255


Ilyazam

  • Client Free fibre
  • *
  • Messages: 92
  • Cholet (49)
Remplacer le boitier ONU
« Réponse #71 le: 04 août 2019 à 08:14:03 »
- J'ai réussi, sans vraiment comprendre pourquoi, à avoir une IPv6 avec avoir configuré mon interface WAN sur le Vlan 836 en DHCPv6
C'est normal, le DHCPv6 de Free distribue une adresse à la box en plus du préfixe DHCPv6
Mais elle n'est pas dans le préfixe attribué au client il me semble.

ipv6-tunnel v6tun0 {
        address 82.64.xx.xx/32  (adresse attribuée par free après la réservation de l'option full stack)
        description test
        encapsulation ipip6
        local-ip 2a01:e02:xxxx:xxxx:xxxx::8 (Ici j'avoue ne toujours pas comprendre quoi mettre ) => prends ton adresse IPv6, garde les 60 premiers bits (2a01:e02:xxxx:xxxx:xxx et transforme cette adresse en 2a01:e02:xxxx:xxxx:xxx0:0:ffff:ffff:0
        mtu 1500
        remote-ip 2a01:e0a:2b1::fffd (spéculation totale)[color=red]tu peux tester (mais si ce n'est pas ça il faudra faire une capture de trafic pour regarder l'IP utilisée)[/color]
        traffic-policy {
        }
    }
Pour l'interface parente :

    ethernet eth7 {
        duplex auto
        ipv6 {
            dup-addr-detect-transmits 1
        }
        mac f4:xx:xx:xx:xx:xx (spoofé de la box)
        mtu 1700
        speed auto
        vif 835 {
            address dhcp
            mtu 1700 [color=red]tu peux mettre mtu 1500 (pas de 4rd sur le VLAN 835) Perso je ne l'ai même pas configuré[/color]
        }
        vif 836 {
            address dhcpv6 (Ca ca me donne une jolie ipv6 en /64 )
            mtu 1700
        }
    }
Citer
Le problème que j'ai, c'est que je n'arrive pas à récupérer un échantillons de paquets entre la box et et le routeur free en face. J'ai bien essayé d'y mettre un switch en intermédiaire entre l'ONT et la BOX (avec un port mirroring) allez savoir pourquoi la box ne dépasse pas l'étape 4, l'étape qui m'intéresse justement (attente de DHCP).
Peux-tu nous mettre la configuration de ton switch ?

J'avoue qu'aussi, je n'ai pas bien compris pourquoi, dans la configuration de ton tunnel avec l'IP full stack, tu dois avoir en "local-ip " l'ipv6 calculée à partir de l'IP de ton ipv4 partagée.
Erreur de ma part, il faut mettre l'IP avec la fin en 0:ffff:ffff:0, voir plus haut ou là :
Citer
Il ne semble pas y avoir de lien entre IPv4 et IPv6, d'ailleurs cette IP n'est pas fournie en DHCPv6 contrairement à l'IP partagée : je suppose que la box est provisionnée avec une nouvelle configuration incluant l'IP une fois l'option activée
L'IPv6 du tunnel que j'utilise de mon côté :
2a01:e0a:1111:1110:0:ffff:ffff:0
préfixe IPv6 associé à la ligne/l'abonné

 

Mobile View