# Installer carte MediaTek MT7902

Procédure pour faire fonctionner la carte Wi-Fi/Bluetooth **MediaTek MT7902** (Filogic 310) sur **LMDE 7** (base Debian 13 « trixie »)

## 1. Symptômes

- Aucune icône Wi-Fi dans la barre des tâches.
- `nmcli device` ne montre que `lo` (aucune interface Wi-Fi).
- `rfkill list` ne renvoie rien.
- `dmesg` affiche en boucle :
  ```
  bluetooth hci0: firmware: failed to load mediatek/BT_RAM_CODE_MT7902_1_1_hdr.bin (-2)
  ```

## 2. Cause

2. **Firmware absent** : le paquet Debian `firmware-mediatek` (version 20250410) ne contient pas les fichiers MT7902.

## 3. Prérequis

Il faut un accès internet **temporaire** par :

- câble Ethernet, ou
- partage de connexion USB depuis un téléphone (Android : *Paramètres → Partage de connexion → USB*).

## 4. Identifier la carte

```bash
lspci
lspci -k -s 01:00.0
```

On doit voir : `MEDIATEK Corp. MT7902 802.11ax PCIe Wireless Network Adapter [Filogic 310]`.

## 5. Installer un noyau récent (backports)

Si les backports ne sont pas encore activés, ajouter dans `/etc/apt/sources.list.d/backports.list` :

```
deb http://deb.debian.org/debian trixie-backports main
```

Puis :

```bash
sudo apt update
sudo apt install -t trixie-backports linux-image-amd64 linux-headers-amd64
sudo reboot
```

Vérifier après redémarrage :

```bash
uname -r
```

Résultat attendu : un noyau 7.x (ici `7.2.12+deb13-amd64`).

> Si GRUB démarre sur l'ancien noyau : *Options avancées* → choisir le noyau récent.

Après cette étape, `lspci -k -s 01:00.0` affiche `Kernel driver in use: mt7921e`. C'est normal : le pilote `mt7921e` prend en charge la MT7902 dans les noyaux récents. Mais **sans firmware, l'interface ne se crée pas**.

## 6. Récupérer le firmware MT7902

On clone uniquement le dossier `mediatek` du dépôt officiel `linux-firmware`.


```bash
sudo apt install git
cd ~
git clone --depth 1 --filter=blob:none --sparse https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
cd linux-firmware
git sparse-checkout set mediatek
find ~/linux-firmware -iname "*7902*"
```

Fichiers attendus :

```
mediatek/BT_RAM_CODE_MT7902_1_1_hdr.bin
mediatek/WIFI_MT7902_patch_mcu_1_1_hdr.bin
mediatek/WIFI_RAM_CODE_MT7902_1.bin
```

## 7. Installer le firmware

```bash
sudo mkdir -p /lib/firmware/mediatek
sudo cp ~/linux-firmware/mediatek/*7902* /lib/firmware/mediatek/
sudo reboot
```

## 8. Vérification

```bash
nmcli device
rfkill list
sudo dmesg | grep -i -E "mt79|wifi"
```

- Une interface de type `wlan0` / `wlp1s0` doit apparaître.
- L'icône Wi-Fi doit apparaître dans la barre des tâches.
- Les erreurs Bluetooth `failed to load ... BT_RAM_CODE_MT7902` doivent disparaître.


## 9. Notes

- Le firmware copié à la main dans `/lib/firmware/` survit aux mises à jour du noyau. Il peut être remplacé plus tard par une version plus récente du paquet `firmware-mediatek` de Debian.