Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails)

#1 Le 13/01/2013, à 22:03

urustu

Conflit entre Webcam USB et Souris USB

Bonjour,

A une époque j'avais réussi, me semble-t-il, à utiliser la Webcam Philips PCVC680K Webcam [pwc] (ID 0471:0308).
Je l'ai mis dans un carton depuis puis aujourd'hui je souhaite la réutiliser.
Mais voilà, elle ne fonctionne plus, visiblement, sous Ubuntu 12.04 LTS ?
Elle semble être reconnue par la commande lsmod et par le device /dev/video1 mais en lançant n'importe logiciel utilisant la webcam, cheese par exemple, alors rien ne se passe : écran noir.

J'ai tenté de suivre la doc PWC mais c'est pire.
J'ai installé setpwc depuis la Logithèque.
J'ai tenté de faire un make bien que j'ai une version récente (12.04 LTS Precise Penguin par rapport à 7.04 Feisty de la doc) :

~/pwc-10.0.12-rc1$ make
make -C /lib/modules/3.2.0-36-generic-pae/build SUBDIRS=/home/urustu/pwc-10.0.12-rc1 modules
make[1]: entrant dans le répertoire « /usr/src/linux-headers-3.2.0-36-generic-pae »
  CC [M]  /home/urustu/pwc-10.0.12-rc1/pwc-if.o
In file included from /home/urustu/pwc-10.0.12-rc1/pwc-if.c:69:0:
/home/urustu/pwc-10.0.12-rc1/pwc.h:28:26: erreur fatale: linux/config.h : Aucun fichier ou dossier de ce type
compilation terminée.
make[2]: *** [/home/urustu/pwc-10.0.12-rc1/pwc-if.o] Erreur 1
make[1]: *** [_module_/home/urustu/pwc-10.0.12-rc1] Erreur 2
make[1]: quittant le répertoire « /usr/src/linux-headers-3.2.0-36-generic-pae »
make: *** [all] Erreur 2

J'ai trouvé une doc qui liste cette webcam dans les lignes de commande alors je me dis quand même que j'ai de l'espoir ?

Dernière modification par urustu (Le 25/01/2013, à 15:10)


HP Pavilion 17-e027sf | CPU AMD A4-5000 alias Kabini | Graphique Radeon HD 8330 | Wifi Realtek RTL8188EE > Ubuntu Precise 12.04.4 LTS | Trusty 14.04 LTS | Fedora 20 | Mint 17
Samsung 300E7A nVidia Optimus > Ubuntu Precise 12.04 LTS

Hors ligne

#2 Le 13/01/2013, à 22:27

urustu

Re : Conflit entre Webcam USB et Souris USB

Je lis un autre fil. Peut-être le même soucis ?
J'ai désinstallé setpwc.
J'ai testé la commande gstreamer-properties et j'ai le message "Video for Linux 2 (v4l2): Device '/dev/video1' is busy"

$ gstreamer-properties &
[1] 3471
urustu@K72Jk:/mnt/Stock/GARMIN$ 
(gstreamer-properties:3471): Gtk-WARNING **: Unknown property: GtkDialog.has-separator

(gstreamer-properties:3471): Gtk-WARNING **: Unknown property: GtkDialog.has-separator
gstreamer-properties-Message: Skipping unavailable plugin 'artsdsink'
gstreamer-properties-Message: Skipping unavailable plugin 'esdsink'
gstreamer-properties-Message: Skipping unavailable plugin 'sunaudiosink'
gstreamer-properties-Message: Skipping unavailable plugin 'glimagesink'
gstreamer-properties-Message: Skipping unavailable plugin 'sdlvideosink'
gstreamer-properties-Message: Skipping unavailable plugin 'v4lmjpegsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'qcamsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'v4lsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'esdmon'
gstreamer-properties-Message: Skipping unavailable plugin 'sunaudiosrc'
libv4l2: error setting pixformat: Périphérique ou ressource occupé
gstreamer-properties-Message: Error running pipeline 'Video for Linux 2 (v4l2)': Device '/dev/video1' is busy [gstv4l2object.c(2190): gst_v4l2_object_set_format (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src1:
Call to S_FMT failed for YU12 @ 640x480: Périphérique ou ressource occupé]
libv4l2: error setting pixformat: Périphérique ou ressource occupé
gstreamer-properties-Message: Error running pipeline 'Video for Linux 2 (v4l2)': Device '/dev/video1' is busy [gstv4l2object.c(2190): gst_v4l2_object_set_format (): /GstPipeline:pipeline2/GstV4l2Src:v4l2src3:
Call to S_FMT failed for YU12 @ 640x480: Périphérique ou ressource occupé]

Dernière modification par urustu (Le 13/01/2013, à 22:54)


HP Pavilion 17-e027sf | CPU AMD A4-5000 alias Kabini | Graphique Radeon HD 8330 | Wifi Realtek RTL8188EE > Ubuntu Precise 12.04.4 LTS | Trusty 14.04 LTS | Fedora 20 | Mint 17
Samsung 300E7A nVidia Optimus > Ubuntu Precise 12.04 LTS

Hors ligne

#3 Le 13/01/2013, à 22:37

Maisondouf

Re : Conflit entre Webcam USB et Souris USB

Tout en bas de la page PWC, il y a marqué ça :

 Dernière modification: Le 08/10/2010, 20:57 

et en haut on y parle de l'installation de ce driver sur "Edgy" sortie en 2006.

Je ne peux pas te dire les conséquences d'avoir maintenant deux devices /dev/video0 et /dev/video1 qui se marchent sur les pieds.

Ce type de webcam est supporté directement par le noyau ou avec un module depuis la version 2.6.19 du noyau.

Dernière modification par Maisondouf (Le 13/01/2013, à 22:38)


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#4 Le 13/01/2013, à 22:39

urustu

Re : Conflit entre Webcam USB et Souris USB

$ vlc v4l://dev/video1 --noaudio
VLC media player 2.0.5 Twoflower (revision 2.0.5-0-g1661b7d)
[0x8946920] main libvlc: Lancement de vlc avec l'interface par défaut. Utilisez « cvlc » pour démarrer VLC sans interface.
"sni-qt/3740" WARN  21:39:01.799 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE 
[0xb0900960] v4l2 demux error: cannot open device 'dev/video1': No such file or directory
[0xb0903238] v4l2 access error: cannot open device 'dev/video1': No such file or directory
[0xb5300618] main input error: open of `v4l://dev/video1' failed

HP Pavilion 17-e027sf | CPU AMD A4-5000 alias Kabini | Graphique Radeon HD 8330 | Wifi Realtek RTL8188EE > Ubuntu Precise 12.04.4 LTS | Trusty 14.04 LTS | Fedora 20 | Mint 17
Samsung 300E7A nVidia Optimus > Ubuntu Precise 12.04 LTS

Hors ligne

#5 Le 13/01/2013, à 22:49

Maisondouf

Re : Conflit entre Webcam USB et Souris USB

Hop là, mon ami, tu vas vite en besogne à tester ton installation de webcam avec vlc.
C'est un peu comme si tu cherchais à accrocher une caravane sur un voiture que t'as pas encore acheté.
Il y a 3 phases, on regarde si la webcam est bien installé( device, modules, etc), on teste avec "cheese" le logiciel de base de Ubuntu et ensuite on lance des applications tierces.


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#6 Le 13/01/2013, à 22:50

urustu

Re : Conflit entre Webcam USB et Souris USB

urustu@K72Jk:~$ lsmod | grep vid
videobuf2_core         28148  1 pwc
videobuf2_vmalloc      12707  1 pwc
videobuf2_memops       13098  1 videobuf2_vmalloc
uvcvideo               67203  0 
videodev               86588  2 pwc,uvcvideo
video                  19068  0 
urustu@K72Jk:~$ sudo modprobe v4l2-compat-ioctl32
FATAL: Module v4l2_compat_ioctl32 not found.
urustu@K72Jk:~$ ls -d /dev/video*
/dev/video0  /dev/video1

HP Pavilion 17-e027sf | CPU AMD A4-5000 alias Kabini | Graphique Radeon HD 8330 | Wifi Realtek RTL8188EE > Ubuntu Precise 12.04.4 LTS | Trusty 14.04 LTS | Fedora 20 | Mint 17
Samsung 300E7A nVidia Optimus > Ubuntu Precise 12.04 LTS

Hors ligne

#7 Le 13/01/2013, à 22:51

urustu

Re : Conflit entre Webcam USB et Souris USB

urustu@K72Jk:~$ dpkg -l "libv4l*"
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom            Version        Description
+++-==============-==============-============================================
ii  libv4l-0       0.8.6-1ubuntu2 Collection of video4linux support libraries
ii  libv4lconvert0 0.8.6-1ubuntu2 Video4linux frame format conversion library
urustu@K72Jk:~$ ls -l /lib/modules/`uname -r`/kernel/drivers/media/video/v4l*
-rw-r--r-- 1 root root 14788 janv.  9 00:04 /lib/modules/3.2.0-36-generic-pae/kernel/drivers/media/video/v4l2-common.ko
-rw-r--r-- 1 root root  6148 janv.  9 00:04 /lib/modules/3.2.0-36-generic-pae/kernel/drivers/media/video/v4l2-int-device.ko
-rw-r--r-- 1 root root 15484 janv.  9 00:04 /lib/modules/3.2.0-36-generic-pae/kernel/drivers/media/video/v4l2-mem2mem.ko
u

HP Pavilion 17-e027sf | CPU AMD A4-5000 alias Kabini | Graphique Radeon HD 8330 | Wifi Realtek RTL8188EE > Ubuntu Precise 12.04.4 LTS | Trusty 14.04 LTS | Fedora 20 | Mint 17
Samsung 300E7A nVidia Optimus > Ubuntu Precise 12.04 LTS

Hors ligne

#8 Le 13/01/2013, à 22:52

urustu

Re : Conflit entre Webcam USB et Souris USB

urustu@K72Jk:~$ ls -l /boot
total 367467
-rw-r--r-- 1 root root   800195 avril 11  2012 abi-3.2.0-23-generic-pae
-rw-r--r-- 1 root root   800247 mai   22  2012 abi-3.2.0-24-generic-pae
-rw-r--r-- 1 root root   800304 mai   24  2012 abi-3.2.0-25-generic-pae
-rw-r--r-- 1 root root   800498 juin  14  2012 abi-3.2.0-26-generic-pae
-rw-r--r-- 1 root root   800453 juil.  6  2012 abi-3.2.0-27-generic-pae
-rw-r--r-- 1 root root   800453 juil. 27 20:35 abi-3.2.0-29-generic-pae
-rw-r--r-- 1 root root   800618 août  24 20:15 abi-3.2.0-30-generic-pae
-rw-r--r-- 1 root root   800618 sept.  7 19:50 abi-3.2.0-31-generic-pae
-rw-r--r-- 1 root root   801704 sept. 27 01:04 abi-3.2.0-32-generic-pae
-rw-r--r-- 1 root root   801704 oct.  18 19:41 abi-3.2.0-33-generic-pae
-rw-r--r-- 1 root root   801759 nov.  15 13:22 abi-3.2.0-34-generic-pae
-rw-r--r-- 1 root root   801798 déc.   5 20:06 abi-3.2.0-35-generic-pae
-rw-r--r-- 1 root root   801908 janv.  9 00:03 abi-3.2.0-36-generic-pae
-rw-r--r-- 1 root root   147226 avril 11  2012 config-3.2.0-23-generic-pae
-rw-r--r-- 1 root root   147288 mai   22  2012 config-3.2.0-24-generic-pae
-rw-r--r-- 1 root root   147354 mai   24  2012 config-3.2.0-25-generic-pae
-rw-r--r-- 1 root root   147401 juin  14  2012 config-3.2.0-26-generic-pae
-rw-r--r-- 1 root root   147401 juil.  6  2012 config-3.2.0-27-generic-pae
-rw-r--r-- 1 root root   147379 juil. 27 20:35 config-3.2.0-29-generic-pae
-rw-r--r-- 1 root root   147379 août  24 20:15 config-3.2.0-30-generic-pae
-rw-r--r-- 1 root root   147406 sept.  7 19:50 config-3.2.0-31-generic-pae
-rw-r--r-- 1 root root   147435 sept. 27 01:04 config-3.2.0-32-generic-pae
-rw-r--r-- 1 root root   147435 oct.  18 19:41 config-3.2.0-33-generic-pae
-rw-r--r-- 1 root root   147452 nov.  15 13:22 config-3.2.0-34-generic-pae
-rw-r--r-- 1 root root   147452 déc.   5 20:06 config-3.2.0-35-generic-pae
-rw-r--r-- 1 root root   147452 janv.  9 00:03 config-3.2.0-36-generic-pae
drwxr-xr-x 3 root root     5120 janv. 11 18:50 grub
-rw-r--r-- 1 root root 20485796 avril 28  2012 initrd.img-3.2.0-23-generic-pae
-rw-r--r-- 1 root root 20489006 mai   24  2012 initrd.img-3.2.0-24-generic-pae
-rw-r--r-- 1 root root 20489468 juin  13  2012 initrd.img-3.2.0-25-generic-pae
-rw-r--r-- 1 root root 20507615 juin  29  2012 initrd.img-3.2.0-26-generic-pae
-rw-r--r-- 1 root root 20518498 août   3 10:30 initrd.img-3.2.0-27-generic-pae
-rw-r--r-- 1 root root 20518455 août  14 19:40 initrd.img-3.2.0-29-generic-pae
-rw-r--r-- 1 root root 20520708 sept. 11 10:48 initrd.img-3.2.0-30-generic-pae
-rw-r--r-- 1 root root 20530146 oct.   4 18:26 initrd.img-3.2.0-31-generic-pae
-rw-r--r-- 1 root root 20531754 oct.  29 18:39 initrd.img-3.2.0-32-generic-pae
-rw-r--r-- 1 root root 20532034 oct.  29 18:45 initrd.img-3.2.0-33-generic-pae
-rw-r--r-- 1 root root 20538108 nov.  25 15:22 initrd.img-3.2.0-34-generic-pae
-rw-r--r-- 1 root root 20538873 déc.   9 14:12 initrd.img-3.2.0-35-generic-pae
-rw-r--r-- 1 root root 20539125 janv. 11 18:49 initrd.img-3.2.0-36-generic-pae
drwxr-xr-x 2 root root    12288 avril 28  2012 lost+found
-rw-r--r-- 1 root root   176764 nov.  27  2011 memtest86+.bin
-rw-r--r-- 1 root root   178944 nov.  27  2011 memtest86+_multiboot.bin
-rw------- 1 root root  2313006 avril 11  2012 System.map-3.2.0-23-generic-pae
-rw------- 1 root root  2313265 mai   22  2012 System.map-3.2.0-24-generic-pae
-rw------- 1 root root  2314920 mai   24  2012 System.map-3.2.0-25-generic-pae
-rw------- 1 root root  2311100 juin  14  2012 System.map-3.2.0-26-generic-pae
-rw------- 1 root root  2311276 juil.  6  2012 System.map-3.2.0-27-generic-pae
-rw------- 1 root root  2311324 juil. 27 20:35 System.map-3.2.0-29-generic-pae
-rw------- 1 root root  2312370 août  24 20:15 System.map-3.2.0-30-generic-pae
-rw------- 1 root root  2312401 sept.  7 19:50 System.map-3.2.0-31-generic-pae
-rw------- 1 root root  2313078 sept. 27 01:04 System.map-3.2.0-32-generic-pae
-rw------- 1 root root  2313292 oct.  18 19:41 System.map-3.2.0-33-generic-pae
-rw------- 1 root root  2313866 nov.  15 13:22 System.map-3.2.0-34-generic-pae
-rw------- 1 root root  2314162 déc.   5 20:06 System.map-3.2.0-35-generic-pae
-rw------- 1 root root  2314721 janv.  9 00:03 System.map-3.2.0-36-generic-pae
-rw-r--r-- 1 root root  5015840 avril 23  2012 vmlinuz-3.2.0-23-generic-pae
-rw------- 1 root root  5017056 mai   22  2012 vmlinuz-3.2.0-24-generic-pae
-rw------- 1 root root  5020000 mai   24  2012 vmlinuz-3.2.0-25-generic-pae
-rw------- 1 root root  5009632 juin  14  2012 vmlinuz-3.2.0-26-generic-pae
-rw------- 1 root root  5010688 juil.  6  2012 vmlinuz-3.2.0-27-generic-pae
-rw------- 1 root root  5010176 juil. 27 20:35 vmlinuz-3.2.0-29-generic-pae
-rw------- 1 root root  5011712 août  24 20:15 vmlinuz-3.2.0-30-generic-pae
-rw------- 1 root root  5012352 sept.  7 19:50 vmlinuz-3.2.0-31-generic-pae
-rw------- 1 root root  5014912 sept. 27 01:04 vmlinuz-3.2.0-32-generic-pae
-rw------- 1 root root  5015328 oct.  18 19:41 vmlinuz-3.2.0-33-generic-pae
-rw------- 1 root root  5017504 nov.  15 13:22 vmlinuz-3.2.0-34-generic-pae
-rw------- 1 root root  5017984 déc.   5 20:06 vmlinuz-3.2.0-35-generic-pae
-rw------- 1 root root  5019456 janv.  9 00:03 vmlinuz-3.2.0-36-generic-pae
urustu@K72Jk:~$ ls -l /lib/modules/
total 56
drwxr-xr-x 4 root root 4096 avril 28  2012 3.2.0-23-generic-pae
drwxr-xr-x 5 root root 4096 juin  22  2012 3.2.0-24-generic-pae
drwxr-xr-x 5 root root 4096 nov.  10 10:37 3.2.0-25-generic-pae
drwxr-xr-x 5 root root 4096 nov.  10 10:37 3.2.0-26-generic-pae
drwxr-xr-x 5 root root 4096 nov.  10 10:38 3.2.0-27-generic-pae
drwxr-xr-x 5 root root 4096 nov.  10 10:38 3.2.0-29-generic-pae
drwxr-xr-x 5 root root 4096 nov.  10 10:38 3.2.0-30-generic-pae
drwxr-xr-x 5 root root 4096 nov.  10 10:38 3.2.0-31-generic-pae
drwxr-xr-x 3 root root 4096 janv.  7 23:29 3.2.0-32-generic
drwxr-xr-x 5 root root 4096 nov.  10 10:39 3.2.0-32-generic-pae
drwxr-xr-x 5 root root 4096 janv.  7 23:27 3.2.0-33-generic-pae
drwxr-xr-x 5 root root 4096 janv.  7 23:28 3.2.0-34-generic-pae
drwxr-xr-x 5 root root 4096 janv.  7 23:28 3.2.0-35-generic-pae
drwxr-xr-x 5 root root 4096 janv. 11 18:49 3.2.0-36-generic-pae

HP Pavilion 17-e027sf | CPU AMD A4-5000 alias Kabini | Graphique Radeon HD 8330 | Wifi Realtek RTL8188EE > Ubuntu Precise 12.04.4 LTS | Trusty 14.04 LTS | Fedora 20 | Mint 17
Samsung 300E7A nVidia Optimus > Ubuntu Precise 12.04 LTS

Hors ligne

#9 Le 13/01/2013, à 22:53

urustu

Re : Conflit entre Webcam USB et Souris USB

urustu@K72Jk:~$ dpkg -L linux-image-`uname -r` | grep v4l
/lib/modules/3.2.0-36-generic-pae/kernel/drivers/staging/media/dt3155v4l
/lib/modules/3.2.0-36-generic-pae/kernel/drivers/staging/media/dt3155v4l/dt3155v4l.ko
/lib/modules/3.2.0-36-generic-pae/kernel/drivers/media/video/v4l2-common.ko
/lib/modules/3.2.0-36-generic-pae/kernel/drivers/media/video/v4l2-int-device.ko
/lib/modules/3.2.0-36-generic-pae/kernel/drivers/media/video/v4l2-mem2mem.ko

HP Pavilion 17-e027sf | CPU AMD A4-5000 alias Kabini | Graphique Radeon HD 8330 | Wifi Realtek RTL8188EE > Ubuntu Precise 12.04.4 LTS | Trusty 14.04 LTS | Fedora 20 | Mint 17
Samsung 300E7A nVidia Optimus > Ubuntu Precise 12.04 LTS

Hors ligne

#10 Le 13/01/2013, à 23:00

urustu

Re : Conflit entre Webcam USB et Souris USB

Bonjour Maisondouf,

Maisondouf a écrit :

Je ne peux pas te dire les conséquences d'avoir maintenant deux devices /dev/video0 et /dev/video1 qui se marchent sur les pieds.

Elles ne se marchent pas sur les pieds. Comme je l'expliquais au début de ce fil, les 2 webcams fonctionnaient très bien, il y a peu de temps.
/dev/video0 = fixe intégrée sur le portable
/dev/video1 = mobile par port USB

Dernière modification par urustu (Le 13/01/2013, à 23:05)


HP Pavilion 17-e027sf | CPU AMD A4-5000 alias Kabini | Graphique Radeon HD 8330 | Wifi Realtek RTL8188EE > Ubuntu Precise 12.04.4 LTS | Trusty 14.04 LTS | Fedora 20 | Mint 17
Samsung 300E7A nVidia Optimus > Ubuntu Precise 12.04 LTS

Hors ligne

#11 Le 13/01/2013, à 23:02

urustu

Re : Conflit entre Webcam USB et Souris USB

Maisondouf a écrit :

Hop là, mon ami, tu vas vite en besogne à tester ton installation de webcam avec vlc.

Je sais, j'essaie juste de m'inspirer du fil de Indie (Syntek) pour mettre en parallèle les commandes sur ma config (PWC).


HP Pavilion 17-e027sf | CPU AMD A4-5000 alias Kabini | Graphique Radeon HD 8330 | Wifi Realtek RTL8188EE > Ubuntu Precise 12.04.4 LTS | Trusty 14.04 LTS | Fedora 20 | Mint 17
Samsung 300E7A nVidia Optimus > Ubuntu Precise 12.04 LTS

Hors ligne

#12 Le 24/01/2013, à 19:07

urustu

Re : Conflit entre Webcam USB et Souris USB

NOUVEAU

J'ai trouvé la source du problème : j'ai un conflit avec ma souris USB.
Quand je la débranche alors ma webcam USB fonctionne.
Si je rebranche la souris, la webcam ne fonctionne plus.

J'ai testé avec 2 souris (1 filaire et 1 bluetooth) :

Bus 002 Device 006: ID 04f3:0210 Elan Microelectronics Corp. AM-400 Hama Optical Mouse
Bus 002 Device 005: ID 04b4:0060 Cypress Semiconductor Corp. 

A présent, je cherche à savoir comment puis-je remédier à ce conflit entre souris et webcam USB ?


HP Pavilion 17-e027sf | CPU AMD A4-5000 alias Kabini | Graphique Radeon HD 8330 | Wifi Realtek RTL8188EE > Ubuntu Precise 12.04.4 LTS | Trusty 14.04 LTS | Fedora 20 | Mint 17
Samsung 300E7A nVidia Optimus > Ubuntu Precise 12.04 LTS

Hors ligne

Haut de page ↑