# Передача файлов Mac → Fedora (Bluetooth)

**Откуда:** этот Mac (Apple Silicon / основной)  
**Куда:** MacBook Pro Intel с Fedora 43 (устройство Bluetooth: **fedora**, `60:FB:42:7D:2D:66`)  
**Проверено:** 2026-06-16

Связанные документы: [README.md](./README.md), [RUNBOOK.md](./RUNBOOK.md) (Wi‑Fi BCM4322).

---

## 1. Быстрый путь (канон)

### Шаг 1 — Fedora: включить приём **до** отправки

Blueman (иконка Bluetooth в трее) → **«Принять файл»** / **Receive a File**.

Должен появиться диалог **«Ожидание входящего файла…»**.  
Без этого Mac отправит файл, но на Fedora **ничего не произойдёт** — диалога не будет.

### Шаг 2 — Mac: отправить

```bash
# delivery-архив Wi-Fi fix (по умолчанию)
bash ~/code/local_machine/docs/old_mac/scripts/send-to-fedora-bluetooth.sh

# любой другой файл
bash ~/code/local_machine/docs/old_mac/scripts/send-to-fedora-bluetooth.sh /path/to/file.tar.gz
```

В окне **Bluetooth File Exchange** выбрать **fedora** → **Send** / **Отправить**.

### Шаг 3 — Fedora: проверить

Файл обычно в `~/Downloads` или `~/Bluetooth`:

```bash
ls -la ~/Downloads/
```

---

## 2. RCA: почему «отправилось», а на Fedora тишина

| Что видели | Причина |
|------------|---------|
| AppleScript пишет «send выполнена» | macOS **не запускает** OBEX-приём на Linux автоматически |
| Окно на Mac открылось, Fedora молчит | На Fedora **не был включён** «Принять файл» |
| `bnep0` / PAN не связан с файлами | Передача файлов — **OBEX**, не PAN |
| Устройство paired, но не Connected | На Fedora: Bluetooth on, Trust Mac, оставить в зоне видимости |

**Правило:** сначала **приём на Fedora**, потом **отправка с Mac**.

---

## 3. Предварительные условия

### Сопряжение (один раз)

**Fedora:**

```bash
bluetoothctl
power on
agent on
default-agent
scan on
# найти Mac по имени, затем:
pair <MAC_ЭТОГО_MAC>
trust <MAC_ЭТОГО_MAC>
```

**Mac:** Системные настройки → Bluetooth → подтвердить сопряжение.

### Перед каждой передачей

**Mac** — fedora в **Connected**:

```bash
system_profiler SPBluetoothDataType | grep -A6 "Connected:"
# должно быть: fedora (60:FB:42:7D:2D:66)
```

**Fedora** — Blueman установлен:

```bash
sudo dnf install blueman bluez-obexd
blueman-applet &
```

---

## 4. Подробно: Fedora (приём)

### Способ A — Blueman GUI (рекомендуется)

1. Иконка Bluetooth в трее (Blueman).
2. **Принять файл** / **Receive a File**.
3. Ждать диалог «Ожидание входящего файла…».
4. **Не закрывать** до завершения передачи.

### Способ B — скрипт-подсказка

Если скрипт уже есть на Fedora (после первой передачи или скопирован вручную):

```bash
bash prepare-receive-fedora.sh
```

Скрипт напомнит про Blueman и будет ждать файл в `~/Downloads`.  
Сам по себе **не заменяет** пункт «Принять файл» в Blueman (без `obexpushd`).

### Куда попадает файл

| Среда | Путь |
|-------|------|
| GNOME + Blueman | `~/Downloads` |
| KDE | `~/Downloads` или `~/Bluetooth` |
| obexpushd | каталог из `-p` |

---

## 5. Подробно: Mac (отправка)

### Способ A — скрипт (рекомендуется)

```bash
# Wi-Fi fix archive (готовый)
bash ~/code/local_machine/docs/old_mac/scripts/send-to-fedora-bluetooth.sh

# произвольный файл
bash ~/code/local_machine/docs/old_mac/scripts/send-to-fedora-bluetooth.sh ~/Desktop/myfile.tar.gz

# другое имя BT-устройства (если не «fedora»)
bash ~/code/local_machine/docs/old_mac/scripts/send-to-fedora-bluetooth.sh myfile.zip my-fedora
```

Скрипт проверяет, что **fedora** в Connected, и открывает **Bluetooth File Exchange**.

### Способ B — вручную (без скрипта)

1. Finder → файл → ПКМ → **Поделиться** → **Bluetooth**  
   **или** открыть `/System/Applications/Utilities/Bluetooth File Exchange.app`
2. Перетащить файл в окно / File → Send File…
3. Выбрать **fedora** → **Send**

### Способ C — из терминала (то же GUI)

```bash
open -a "Bluetooth File Exchange" /path/to/file.tar.gz
```

Дальше вручную выбрать **fedora** → **Send**.

---

## 6. Что отправлять (Wi‑Fi fix)

Готовый архив для Fedora:

```text
docs/old_mac/deliverable/fedora-bcm4322-wifi-fix.tar.gz
```

Пересобрать:

```bash
bash ~/code/local_machine/docs/old_mac/scripts/build-delivery-archive.sh
```

После приёма на Fedora:

```bash
cd ~/Downloads
tar xzf fedora-bcm4322-wifi-fix.tar.gz
cd fedora-bcm4322-wifi-fix
sudo bash install-bcm4322-firmware-fedora.sh
sudo reboot
```

---

## 7. Диагностика

### Mac

```bash
system_profiler SPBluetoothDataType | grep -A8 "Connected:"
pgrep -lf "Bluetooth File Exchange"
```

### Fedora

```bash
bluetoothctl devices
bluetoothctl info 60:FB:42:7D:2D:66   # MAC этого Mac — подставить свой
systemctl --user status obex
journalctl -b -u bluetooth | tail -30
ls -la ~/Downloads/ ~/Bluetooth/ 2>/dev/null
```

### Типичные ошибки

| Симптом | Действие |
|---------|----------|
| Нет диалога приёма на Fedora | Blueman → **Принять файл** **до** Send на Mac |
| «fedora не в Connected» на Mac | Fedora: BT on, Trust, не спать |
| Передача оборвалась | Файл < 50 MB надёжнее; повторить с шага 1 |
| Blueman нет в трее | `blueman-applet &` |
| obex не стартует | `sudo dnf install bluez-obexd blueman` |

---

## 8. Альтернативы Bluetooth

Если BT-файлы не идут:

| Способ | Когда |
|--------|-------|
| **USB-флешка** | Самый надёжный offline |
| **USB tether** телефон → Fedora, `scp` с Mac в локалку | Если есть общая сеть |
| **Телефон как посредник** | Mac → телефон → Fedora (USB/BT) |

---

## 9. Порядок действий (шпаргалка)

```text
[FEDORA]  Blueman → Принять файл → «Ожидание…»
[MAC]     bash …/send-to-fedora-bluetooth.sh
[MAC]     Bluetooth File Exchange → fedora → Send
[FEDORA]  Файл в ~/Downloads
[FEDORA]  tar xzf … && sudo bash install-….sh
```

---

*docs/old_mac — local_machine*
