4 votes

Récupérer un téléphone Android comme serveur Linux (matériel radio/wifi cassé)

Mon appareil a des problèmes matériels avec la radio/wifi. Il n'est donc pas possible d'utiliser la carte SIM ou le wifi. Cela le fait également redémarrer fréquemment. Maintenant, il est inutile en tant que téléphone. J'essaie donc de le transformer en ordinateur de bureau (mini-serveur). linuxdeployer ). Le simple mode avion ne suffit pas à résoudre ces redémarrages.

Comment j'ai découvert que ses composants wifi/radio étaient cassés (provisoire)

J'ai un OnePlus 6 enchilada.

Désactivation plus profonde du wifi/radio que le simple mode avion

Est-il possible de désactiver le WIFI/radio d'une manière ou d'une autre ? plus profond que le simple mode avion ? Pour que je puisse l'utiliser comme un mini-serveur de bureau. Installation de linuxdeployer ou tout autre logiciel de ce genre et utiliser le reverse tethering.

J'ai essayé de nombreuses solutions sur Internet (notamment Android.stackexchange ) mais aucune ne fonctionne vraiment.

Si quelqu'un pouvait me donner une astuce ou un conseil, je l'apprécierais grandement !

1 votes

Votre appareil est actif LineageOS support. Par conséquent, vous pouvez essayer de construire une version personnalisée de LineageOS et modifier l'arbre des périphériques ou d'autres parties du code source pour désactiver les composants cassés avant de construire la ROM.

0 votes

@Robert De manière hilarante, la solution que j'ai trouvée est exactement ce que vous avez commenté. Malheureusement, il m'a fallu près d'un an d'exploration pour la trouver par moi-même. Merci en tout cas pour votre volonté d'aider.

4voto

gersh Points 564

Je l'ai résolu par moi-même, donc je partage pour que ça puisse être utile pour les autres .

Désactiver profondément le wifi/radio = recompiler le noyau Linux d'Android en désactivant les pilotes wifi/radio.

J'ai d'abord testé le ROM personnalisée Lineage OS pour mon appareil.

A partir de là, j'ai eu accès à tout reconstruire ma ROM Lineage personnalisée . Ils ont tous les codes sources pour tous les appareils supportés, y compris les sources du noyau linux pour ma carte mobile. (Qualcomm SDM845 Snapdragon 845 SoC) .

Lorsque le noyau est construit, il doit être décidé s'il chargera les modules du pilote (tous les composants de la carte SoC ont besoin d'un pilote) ou s'il aura les modules du pilote construits statiquement. Dans les deux cas, le pilote doit être activé pendant la construction du noyau. Pour configurer l construction du noyau inux a .config est utilisé.

Après avoir étudié de plus près construction du noyau linux . Trouvé dans aquí que le QDSP6V5 de la carte SDM845 du OnePlus 6 SoC était obligatoire pour les données mobiles et le WIFI lors de la construction du noyau.

En utilisant les docs de Lineage OS et plus de recherche et 250 GB de code source et presque 12 heures de téléchargement ( repo sync + brunch enchilada ) J'ai réussi à construire ma ROM Lineage OS 16.0 personnalisée après avoir modifié le noyau. .config fragment ( enchilada_defconfig ) de Android \lineage\kernel\oneplus\sdm845\arch\arm64\configs\enchilada_defconfig .

Réglage de CONFIG_MSM_PIL_MSS_QDSP6V5 de y a n (NON).

Note : Lors de la construction de LOS, j'ai dû désactiver dashd puisque je n'ai pas pu trouver ce fichier en extrayant les blobs propriétaires. Commentez-le sur ~/android/lineage/vendor/oneplus/sdm845-common/Android.mk

#include $(CLEAR_VARS)
#LOCAL_MODULE := dashd
#LOCAL_MODULE_OWNER := oneplus
#LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
#LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)
#LOCAL_SRC_FILES := proprietary/rootfs/sbin/dashd
#LOCAL_MODULE_TAGS := optional
#LOCAL_MODULE_CLASS := EXECUTABLES
#include $(BUILD_PREBUILT)

et en le supprimant de PRODUCT_PACKAGES += liste sur sdm845-common-vendor.mk sur le même dossier.

Eurêka !

Le Wifi et le Mobile ne fonctionnent pas du tout.

Plus de redémarrage et Internet fonctionne parfaitement à partir de la connexion inversée par USB.

La solution hilarante est exactement comme le commentaire de @Robert. J'ai dû passer presque un an d'exploration pour trouver cela par moi-même. `-)

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X