HP Networking/Comware NETCONF interface quick tutorial (using python’s ncclient and pyhpecw7)

article/2025/10/10 23:46:51

HP Networking/Comware NETCONF interface quick tutorial (using python’s ncclient and pyhpecw7) – NetworkGeekStuffhttps://networkgeekstuff.com/networking/hp-networking-comware-netconf-interface-quick-tutorial-using-pythons-ncclient-and-pyhpecw7/

Peter Havrila December 11, 2017

HP NetworkingLinuxNetworkingProjects

So let’s learn about NETCONF, but first a bit of history and perspective. Everyone in networking business at least once heard about SNMP (Simple Network Management Protocol), which is the goto protocol for monitoring your network devices, and wondered how cool it would be if you could not only monitor your network with it, but actively configure it (sort of like “SDN wannabe”). But for that purpose the SNMP  was not really useful, it supported some write operations but they were so generic and incomplete that it was not really feasible. That is where NETCONF came around 2011 as a standard (it was here before but its RFC 6241 was ratified then) and changed the game in favor of configuring any device, while not restricting vendors from declaring their own NETCONF data structures to fit their features, but lets first check the protocol first before diving into the data structures.

NETCONF is a RCP (remote procedure call) based protocol, using XML formating as payload and YAML language as data modeling (the part that explains to you what XML to send to configure something).

Contents [hide]

  • LAB TOPOLOGY
    • HOW TO ENABLE NETCONF ON COMWARE7:
    • PYTHON PREREQUISITES:
  • Part I. Exploring the NETCONF data models
      • Step 1.1 Enter XML mode on Comware CLI
      • Step 1.2 Getting a chosen capability YARN definition
      • Part 1.3 Exiting the XML session in CLI
  • Part II – Using python ncclient to control netconf
      • Step 2.1 Starting a python CLI interpreter and importing needed libraries
      • Step 2.2 downloading NETCONFs complete data view
      • Step 2.3 filtering parts of interest (VLAN view only here)
      • Step 2.4 Creating new VLAN using NETCONF and ncclient
  • Part III. Using PyHPEcw7 library to avoid XML parsing
      • Step 3.1 Connecting to your comware switch using PyHPEcw7
      • Step 3.2 Getting list of VLANs
      • Step 3.3 Create new VLAN
      • Step 3.4 Find and remove specific VLAN
  • Part IV. BONUS: Help, what I need to do is not part of PyHPEcw7!
  • Summary
  • UPDATE: Follow-up article on using NETCONF in Network Visuzalization

LAB TOPOLOGY

Ok, lets get to the point, in our excercise I will be focused on the green part of my small lab, so you need at least one comware7 switch and some LLDP neighbors to follow me here. (NOTE: You might even recreate this using the H3C Comware7 simulator, but I haven’t tried that yet for NETCONF)

LAB Topology is simply active comware7 switch with IP management access

Prerequisite here is to have IP communication from your computer to the comware switches, e.g. SSH to either M0/0 interface or any other IP management interface as NETCONF is actually using SSH layer here. I have used M0/0 interfaces configured with IP addresses here.

HOW TO ENABLE NETCONF ON COMWARE7:

Simple, here is a configuration snapshot that actually enables both NETCONF over SSH layer and creates a single user “admin” with password “admin” to access it.

ssh server enable
netconf ssh server enablelocal-user admin class managepassword simple adminservice-type telnet ssh terminalauthorization-attribute user-role network-adminline vty 0 15authentication-mode schemeuser-role network-operatoridle-timeout 15 0

NOTE: On comware 7 the NETCONF actually listens on TCP port 830 instead of standard SSH port like on e.g. Cisco box. 

PYTHON PREREQUISITES:

I will be assuming that you have python2.7 installed already in the system that you will be using, this can work on both linux and windows, but linux is recommended (run a VM if nothing else). After you have pythin2.7 installed, you need two libraries, one comes simply from python repos using pip command, the second one we simply install from github. Simply follow these commands:

# Install ncclient
pip install ncclient# Install HPN's pyhpecw7 library
git clone https://github.com/HPENetworking/pyhpecw7.git
cd pyhpecw7
sudo python setup.py install

Test if you have everything working by running python cli interpreter and try to import these libraries to the code like this (no error means install worked!):

[linux-system ~]$ python
Python 2.7.5 (default, Aug  4 2017, 00:39:18) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyhpecw7.comware import HPCOM7
>>> import ncclient
>>>

Part I. Exploring the NETCONF data models

Ok, so we enabled netconf, but we have absolutely no idea what to send or expect, so now we will go to the device and dump all the “capabilities” in YAML to read what we actually can and cannot do here.

NOTE ON OPTIONAL SKIPPING OF RAW XML PARTS:  I will give you a choice, you can use ncclient and parse XML to get access to ALL capabilities, or if you want easy life, you can have a look on the pyhpecw7 library documentation only, which makes most of the hard work for you, but it cannot do everything yet.  From my point of view if the python library can support all that you need in your project, you can skip the raw XML sections and look below only on the pyhpecw7 parts.

Step 1.1 Enter XML mode on Comware CLI

To explore the YAML definition, the simplest way is to enter the comware console and type in the “xml” command, which brings you to a special XML/NETCONF mode.

WARNING: I really recommend you try this connected using SSH session so you have option to get out of the console the “hard way” because to get out of the XML mode, you need to enter a special set of xml commands, no CTRL-z / CTRL-c will work here, so there is a chance to get stuck. You have been warned 

<AR21-U12-ICB1>xml
<?xml version="1.0" encoding="UTF-8"?><hello xmlns="urn:ietf:params:xml:ns:netconf:base:
1.0"><capabilities><capability>urn:ietf:params:netconf:base:1.0</capability><capability>
urn:ietf:params:netconf:capability:writable-running:1.0</capability><capability>urn:ietf
:params:netconf:capability:notification:1.0</capability><capability>urn:ietf:params:netc
onf:capability:validate:1.0</capability><capability>urn:ietf:params:netconf:capability:i
nterleave:1.0</capability><capability>urn:ietf:params:netconf:capability:rollback-on-err
or:1.0</capability><capability>urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?modul
e=ietf-netconf-monitoring&amp;revision=2010-10-04</capability><capability>urn:hp:params:
netconf:capability:hp-netconf-ext:1.0</capability><capability>urn:hp:params:netconf:capa
bility:hp-save-point::1.0</capability><capability>urn:hp:params:netconf:capability:not-n
eed-top::1.0</capability><capability>urn:hp:params:netconf:capability:module-specified-n
amespace:1.0</capability><capability>urn:hp:params:netconf:capability:hp-name2index:1.1<
/capability></capabilities><session-id>1</session-id></hello>]]>]]>

You see that you received back a shitload of text, this is an unformatted XML output that you need to “prettify”, I recommend simply opening this XML formating web page in another window and copy&paste the output there, then it looks something like this:

<?xml version="1.0" encoding="UTF-8"?>
<helloxmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><capabilities><capability>urn:ietf:params:netconf:base:1.0</capability><capability>urn:ietf:params:netconf:capability:writable-running:1.0</capability><capability>urn:ietf:params:netconf:capability:notification:1.0</capability><capability>urn:ietf:params:netconf:capability:validate:1.0</capability><capability>urn:ietf:params:netconf:capability:interleave:1.0</capability><capability>urn:ietf:params:netconf:capability:rollback-on-error:1.0</capability><capability>urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&amp;revision=2010-10-04</capability><capability>urn:hp:params:netconf:capability:hp-netconf-ext:1.0</capability><capability>urn:hp:params:netconf:capability:hp-save-point::1.0</capability><capability>urn:hp:params:netconf:capability:not-need-top::1.0</capability><capability>urn:hp:params:netconf:capability:module-specified-namespace:1.0</capability><capability>urn:hp:params:netconf:capability:hp-name2index:1.1</capability></capabilities><session-id>1</session-id>
</hello>]]>]]>

This is a list of capabilities that my comware switch (actually a 5940 switch that I used), next we need to pull one of these out.

Step 1.2 Getting a chosen capability YARN definition

As you might realized, the ugly part of this is that you will NOT SEE WHAT YOU TYPE, so just keep copy pasting from this article or from a notepad. Copy&paste this into the XML mode:

COPY&PASTE INPUT:

<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<capabilities>
<capability>
urn:ietf:params:netconf:base:1.0
</capability>
</capabilities>
</hello>]]>]]>
<rpc message-id="m-641" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<get>
<filter type='subtree'>
<netconf-state xmlns='urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring'>
<schemas/>
</netconf-state>
</filter>
</get>
</rpc>]]>]]>

OUTPUT:

<?xml version="1.0" encoding="UTF-8"?>
<rpc-replyxmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-641"><data><netconf-statexmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"><schemas><schema>.... ~2 ITEMS OMITTED ....</schema><schema><identifier>ietf-netconf</identifier><version>2014-10-12</version><format>yang</format><namespace>urn:ietf:params:xml:ns:netconf:base:1.0</namespace><location>NETCONF</location>				</schema><schema>.... ~ 30 ITEMS OMITTED ....</schema></schemas></netconf-state></data></rpc-reply>]]>]]>

The output here is all the different YANG files describing different aspects of configuration that you might be interested in, so lets pick the one identifier “ietf-netconf” above and lets download it YANG schema.

<identifier>ietf-netconf</identifier>
<version>2014-10-12</version>
<format>yang</format>
<namespace>urn:ietf:params:xml:ns:netconf:base:1.0</namespace>
<location>NETCONF</location>

Take the identifier and add it to this XML template :

<rpc message-id=”101″ xmlns=”urn:ietf:params:xml:ns:netconf:base:1.0″>
<get-schema xmlns=’urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring’>
<identifier>ietf-netconf</identifier>
<version>2014-10-12</version>
<format>yang</format>
</get-schema>
</rpc>]]>]]>

And use the create XML as another COPY&PASTE input. This will give you a YANG definition of the schema to the console, so make sure you are capturing text from terminal to a file because this is going to be a very large output once you copy&paste the above.

Part 1.3 Exiting the XML session in CLI

Since traditional CTRL-c is not working, you actually have to exit using this XML as input:

<rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<close-session/>
</rpc>]]>]]>

Part II – Using python ncclient to control netconf

Ok, lets now assume you skipped the Part I because, well lets say because you hate XML parsing in text strings (like I do), how would you jump right into using an XML/NETCONF client with HPN Comware without knowing the YANG files … well it is actually not that hard, you can start by listing the whole running configuration (e.g. the NETCONF view on “display current-configuraiton”) by running a python’s ncclient.

Step 2.1 Starting a python CLI interpreter and importing needed libraries

if you get error on anything here, just install xml and ncclient libraries using pip.

[user@linux-host ~]$ python
Python 2.7.5 (default, Aug  4 2017, 00:39:18) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from ncclient import manager
>>> import xml.dom.minidom

Step 2.2 downloading NETCONFs complete data view

We are still in the python CLI from previous step, and we enter the following lines ( of course update the hostname / username / password to match your LAB! ) :

with manager.connect(host='AR21-U12-ICB1',port=830,username='admin',password='admin',hostkey_verify=False,allow_agent=False,   look_for_keys=False  ) as netconf_manager:filter = '''<top xmlns="http://www.hp.com/netconf/data:1.0"></top>'''data = netconf_manager.get(('subtree', filter))

now you should have some data variable full of XML text string, but not really nice, if you do print data, you will not be able to read it in a “human” way, so lets instead print it like this:

xmlstr = xml.dom.minidom.parseString(str(data))
pretty_xml_as_string = xmlstr.toprettyxml()
print pretty_xml_as_string;

The output printed should be something like this will be more than 50,000 lines (yes, 50k lines!), so feel free to only have a look on this as a txt file here.

NOTE: This is a complete BRAIN-DUMP of a switch, if you investigate this file, you will see details starting from simple as hostname to details like interface and cpu counters! So this is a great source of troubleshooting and if you figure-out what data you are interested in long term with a more detailed filter.

Step 2.3 filtering parts of interest (VLAN view only here)

You do not want to always download everything, so lets try to for example filter VLANs like this
(complete script file this time):

#!/bin/pythonfrom ncclient import manager
import xml.dom.minidom
from pprint import pprint##################################### 
# STEP 2.3 script, get all VLANs info
#####################################with manager.connect(host='AR21-U12-ICB1',port=830,username='admin',password='admin',hostkey_verify=False,allow_agent=False,   look_for_keys=False  ) as netconf_manager:vlans_filter = '''<top xmlns="http://www.hp.com/netconf/data:1.0"><VLAN><VLANs></VLANs></VLAN></top>'''data = netconf_manager.get(('subtree', vlans_filter))# Pretty print
xmlstr = xml.dom.minidom.parseString(str(data))
pretty_xml_as_string = xmlstr.toprettyxml()
print pretty_xml_as_string;

The output of this will be something like this because I only have VLAN 1 and VLAN 600 in my system:

<?xml version="1.0" ?>
<nc:rpc-reply message-id="urn:uuid:397858b2-379d-49a6-9257-4d6183600926" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"><nc:data><top xmlns="http://www.hp.com/netconf/data:1.0"><VLAN><VLANs><VLANID><ID>1</ID><Description>VLAN 0001</Description><Name>VLAN 0001</Name><UntaggedPortList>1-21,25,29,37-44</UntaggedPortList></VLANID><VLANID><ID>600</ID><Description>VLAN 0600</Description><Name>VLAN 0600</Name><TaggedPortList>1-20</TaggedPortList></VLANID></VLANs></VLAN></top></nc:data>
</nc:rpc-reply>

Step 2.4 Creating new VLAN using NETCONF and ncclient

Now, lets switch from downloading data to changing something, lets create a new VLAN here, we simply change the filter to contain the VLAN structure that we would like to see like this:

#!/bin/pythonfrom ncclient import manager
import xml.dom.minidom
from pprint import pprint########################## 
# STEP 2.4 Create VLAN 999
##########################with manager.connect(host='AR21-U12-ICB1',port=830,username='admin',password='admin',hostkey_verify=False,allow_agent=False,   look_for_keys=False  ) as netconf_manager:vlans_change_filter = '''<config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><top xmlns="http://www.hp.com/netconf/config:1.0"><VLAN><VLANs><VLANID><ID>999</ID><Description>VLAN 0999</Description><Name>TestingVLAN999</Name></VLANID></VLANs></VLAN></top></config>'''data = netconf_manager.edit_config(target='running',config=vlans_change_filter,default_operation='replace');# Pretty print
xmlstr = xml.dom.minidom.parseString(str(data))
pretty_xml_as_string = xmlstr.toprettyxml()
print pretty_xml_as_string;

The result this time will be a simple OK via XML like this:

<?xml version="1.0" ?>
<nc:rpc-reply message-id="urn:uuid:7596374d-2dae-411e-b8c1-e3b4e9a51254" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"><nc:ok/>
</nc:rpc-reply>

Additionally a quick check on the switch shows that vlan 999 started existing afterwards:

[AR21-U12-ICB1]disp vlan 999
This VLAN does not exist.
[AR21-U12-ICB1]disp vlan 999VLAN ID: 999VLAN type: StaticRoute interface: Not configuredDescription: VLAN 0999Name: TestingVLAN999Tagged ports:   None            Untagged ports: None

Part III. Using PyHPEcw7 library to avoid XML parsing

The great thing about PyHPEcw7, github linke here, is that it hides all the XML text parsing away from you and gives you python objects to play with. As mentioned above, the INSTALL is simply:

# Install HPN's pyhpecw7 library
git clone https://github.com/HPENetworking/pyhpecw7.git
cd pyhpecw7
sudo python setup.py install

Afterwards you should be able to import the appropriate libraries in your code, try it in the python CLI interpreter.

[user@linux-host ~]$ python
Python 2.7.5 (default, Aug  4 2017, 00:39:18) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyhpecw7.comware import HPCOM7
>>>

No error means that it works for you 

Step 3.1 Connecting to your comware switch using PyHPEcw7

This is a straightforward procedure with a nice IF test afterwards to know if you are or aren’t connected.

#!/bin/python
from pyhpecw7.comware import HPCOM7# Change this to match your switch
args = dict(host='AR21-U12-ICB1', username='admin', password='admin', port=830)# CREATE CONNECTION
device = HPCOM7(**args)
device.open()# Check if connected
if not device.connected:print("Unable to connect to target switch, exiting ... ")quit(1)

Step 3.2 Getting list of VLANs

To save a little space, I am going to follow using python CLI interpreter “as if” after the connection example in step 3.1, so if you are building a python script file, put these lines after the step 3.1 example.

vlan = Vlan(device, '')
vlans = vlan.get_vlan_list()
pprint.pprint(vlans)

And the result will be a list of vlans that comes from the NETCONF Interface like this:

['1', '600']

Step 3.3 Create new VLAN

Simple, create a new Vlan python object with needed parameters and have it “built()”, it will automagically appear on the comware switch.

# configure a vlan 777
vlan = Vlan(device, '777')
args = dict(name='NEW 777', descr='DESCRiption 777')
vlan.build(**args)

From the switch:

[AR21-U12-ICB1]display vlan 777VLAN ID: 777VLAN type: StaticRoute interface: Not configuredDescription: DESCRiption 777Name: NEWV 777Tagged ports: None           Untagged ports: None

Step 3.4 Find and remove specific VLAN

Ok, we can list all, create now lets try deleting a VLAN. The variation here is that we simply find the VLAN using a number using Vlan object constructor and then run .remove method on it.

NOTE: You might now realized that I haven’t presented deleting a VLAN using native XML/ncclient in part 2, the reason is that doing this via XML is kind of problematic (or at least I found it), I either had problems doing it directly and I had to go into NETCONFs stage/commit system, which requires you taking whole configuration, doing delta changes and resubmit it all back. I honestly disliked this approach very much and decided to drop deletion part from direct XML/nclicent parts. If you really want to see this, go and have a look on the code of PyHPEcw7 how it is doing this on their github.

# Find and remove a vlan
vlan = Vlan(device, '777')# Print found VLAN details
print("VLAN object before deletion:")
pprint.pprint(vlan.get_config())# Remove the vlan
vlan.remove()# Print the VLAN again to see it is deleted
print("VLAN object after deletion:")
pprint.pprint(vlan.get_config())

OUTPUT:

VLAN object before deletion:
{'descr': 'DESCRiption 777', 'name': 'NEW 777', 'vlanid': '777'}VLAN object after deletion:
{}

Part IV. BONUS: Help, what I need to do is not part of PyHPEcw7!

Ok, this is a real problem that I actually faced trying to work with this library. For my particular problem I was in need to do some Interfaces changes, but the only way how to work with Interfaces in PyHPEcw7 is to know the interface names in advance (ergo there is no “get all interface names as list” method there) and your way to get Interface as object is something like this (using python CLI here with “device” already connected switch):

>>> from pyhpecw7.features.interface import Interface
>>> interfaceObj = Interface(device,"")              
>>> interfaceObj.get_config()
{'admin': 'up', 'duplex': 'auto', 'speed': 'auto', 'description': 'TwentyGigE1/0/1 Interface', 'type': 'bridged'}

So how to get a list of Interfaces, well I had to do a little reverse engineering of the library and I this library is actually having a nice set of XML helper functions that if you know at least a little bit about NETCONF XML structure it can help you as well (because in background it is using ncclient anyway). So armed with the power of what you learned here in ALL sections, you too should be able to construct something like this using their middleware library pyhpecw7.utils.xml.lib.

Here is a code to get all Interfaces as list of Interfaces objects using XML parsing using parts of PyHPEcw7:

@staticmethod
def getInterfaces(device):from pyhpecw7.utils.xml.lib import *from pyhpecw7.features.interface import InterfaceE = data_element_maker()top = E.top(E.Ifmgr(E.Interfaces(E.Interface())))nc_get_reply = device.get(('subtree', top))# Gets an array of interface names from XML  reply_data_names = findall_in_data('Name', nc_get_reply.data_ele)# Constructs interfaces list for reply using only interfaces namesinterfaces = []for ifname in reply_data_names:interfaces.append(Interface(device,ifname.text))return interfaces

Summary

So we went via NETCONF using very raw and direct examples directly in switch CLI, then went via NETCONF client called ncclient (in python) and finally went through basic examples how to have a bit easier life using HP Networking’s PyHPEcw7 library in python to do all the XML work for you more easily. If you absorbed all in this tutorial I am actually proud of you as it took me quite some time to put all this together from various sources. So as always, stay tuned where this rabbit hole leads ….

UPDATE: Follow-up article on using NETCONF in Network Visuzalization

Actually a spoiler here is that as a follow-up on the NETCONF, here us a small article describing an idea how to visualize network topology using information gathered from NETCONF using python. Maybe this will finally get rid of at least partial manual visio map creations…. probably not yet, but one can dream! See here.


http://chatgpt.dhexx.cn/article/3kysK5jP.shtml

相关文章

H3C交换机Console密码忘记处理方法

1 配置需求或说明 1.1 适用产品系列 本案例适用于如 本案例适用于如S7006、S7503E、S7506E、S7606、S10510、S10508等S7000、S7500E、S10508等S7000、S7500E、S10500系列&#xff0c;且软件版本是V7的交等的V7交换机&#xff0c;V5、V7交换机具体分类及型号可以参考“1.1 Comwa…

H3C WX2510h无线控制器如何网关式部署无线网络

环境&#xff1a; H3C-WX2510H AC控制器 H3C Comware Software, Version 7.1.064, Release 5457 AP H3CWA6320-C 问题描述&#xff1a; H3C wx2510h无线控制器如何网关式部署无线网络 解决方案&#xff1a; 1.配置DHCP服务&#xff0c;开启vlan1为DHCP服务器 2.新建地址…

H3C Comware

H3C Comware的视图模式 1、用户视图 2、系统视图 3、路由协议视图 4、接口视图 5、用户界面视图 H3C Comware的访问级别 1、访问级&#xff08;0&#xff09;&#xff1a;简单的测试命令  ping   debugging 2、监控级&#xff08;1&#xff09;&#xff1a;具有完整查看命…

NTC-Templates解析与采集H3C(Comware Version 7)信息

本文仅供本人参考与学习NTC-Templates模板使用。 设备环境&#xff1a;HCL S6850 S5820V2-54QS-GE&#xff1b;Version 7.1.075, Alpha 7571 模板采用&#xff1a;hp_comware_display_xxxxxxxx.textfsm 在线模板测试&#xff1a;https://textfsm.nornir.tech/ hp_comware_d…

H3C|HUAWEI 交换机Comware系统的基本使用(以HUAWEI S5720为例)

文章目录 H3C|HUAWEI交换机Comware系统的基本使用(以HUAWEI S5720为例)重置交换机常用命令快捷键 H3C|HUAWEI交换机Comware系统的基本使用(以HUAWEI S5720为例) Cisco思科以太网交换机有IOS和CatOS&#xff0c;H3C以太网交换机有Comware CLI特性&#xff1a; 分级保护&#xf…

Comware、VRP、IOS这些操作系统平台你分清了吗?

点击上方“蓝字”关注我们吧 Comware Comware是H3C公司的软件平台&#xff0c;Comware采用了Linux的内核&#xff0c;自成立项之初&#xff0c;就被定义成H3C公司的核心竞争力之一&#xff0c;成为公司最为重要的软件平台和核心技术的载体&#xff0c;支撑公司从低端盒式设备…

安卓、苹果手机数据转移时的备份以及恢复

通常我们使用手机时间长了之后,手机开始变得卡顿,常常出现内存不足的情况。这种时候不外乎两种情况:一是将手机格式化或还原出厂设置;二是买个新手机。这样做的结果就是手机的数据被删除或是数据留在旧手机内却不能完整的转移到新手机中。那我们该怎么做才能两全其美呢? 下…

小米手机助手 云服务器错误,小米手机助手使用过程中的常见问题汇总解答

小米助手是针对小米谁而开发的PC管理工具&#xff0c;您可以借助小米助手安装应用、备份数据、升级系统&#xff0c;甚至刷机等。不过&#xff0c;在使用中&#xff0c;大家也容易遇到一些问题&#xff0c;以下是小米助手常见问题汇总答疑。 小米手机助手在公测以来&#xff0c…

怎样把小米手机便签内容转存到百度网盘中去?

小米手机使用群体是很庞大的&#xff0c;小米手机上的便签被使用的频率想当高。毕竟在信息爆炸的时代&#xff0c;把所有有用的信息都记录到脑子里是不现实的。如果便签里的内容过多&#xff0c;想转存到百度网盘中该怎么操作&#xff1f; 如果你手机有网盘的话&#xff0c;可…

小米手机--刷机指南

刷机有风险&#xff0c;刷机需谨慎&#xff01;&#xff01;&#xff01; 本教程适用于小米手机&#xff0c;其他手机方法也类似但不建议小白按该教程的方法操作其他品牌手机。 为什么要刷机&#xff1f; 好处&#xff1a; 解决手机无缘无故重启、卡机、无法启动、无法关机、…

小米手机获取完整ROOT权限教程

对于部分爱折腾手机系统的发烧友来说&#xff0c;获取Root权限是首要的。因为ROOT有着整个系统的最高权限。只有打开了这扇大门之后&#xff0c;才能刷Xposed框架&#xff0c;蝰蛇/杜比音效插件&#xff0c;删除温控&#xff0c;删除不常用的系统应用&#xff0c;刷第三方系统等…

小米手机 无线投影到win10 笔记本

原文链接: 小米手机 无线投影到win10 笔记本 上一篇: conda 环境备份和恢复 下一篇: ubuntu1804 配置 docker ce 环境 需要手机与电脑在同一wifi下,可以让笔记本连接手机热点 设置电脑端 设置手机端

html文件bak,轻松解包MIUI小米备份bak文件 还原出明文数据

轻松解包MIUI小米备份bak文件 还原出明文数据 1、将目标Bak备份数据拷贝到电脑端 小米MIUI手机备份后的文件会存放在手机存储下 /MIUI/backup/Allbackup/xxx 目录中(xxx代表备份的时间)。童鞋们需要做的就是将需要解包的目标Bak文件复制到你的电脑上。怎么复制&#xff1f;QQ传…

小米手机助手 云服务器错误,小米手机助手连接手机失败的处理操作过程

当前使用小米手机助手的朋友越来越多&#xff0c;连接手机可以很方便的传输文件以及照片。那么小米手机助手出现连接手机失败怎么办呢&#xff1f;处理方法如下。 首先安装好小米手机助手&#xff0c;并双击打开; 鼠标单机右上角的设置&#xff0c;选择常规管理&#xff0c;将手…

不要让你的文件“失踪”,学会小米手机怎么备份

小米手机怎么备份&#xff1f;手机上的数据备份起来还是有好处的&#xff0c;当你的某个应用误删或者将手机恢复出厂后&#xff0c;你的备份就是救星&#xff0c;不用重新到处寻找丢失的应用。今天就给大家两个小米本机的备份方法&#xff01; 方法一&#xff1a;系统备份 第1…

小米手机系统脚本上传服务器文件夹,小米手机与电脑可以高速传文件?看看这些你也许会明白-红米手机怎么连接电脑...

现在很多人喜欢用手机办公&#xff0c;但是大部分的时候手机和电脑的文件需要互传&#xff0c;就需要借用数据线。联网的还好&#xff0c;不联网的没办法用网络传输 手机与电脑间传输文件有很多种方法&#xff0c;有不需要USB数据线的但需要无线WIFI联网的方法&#xff0c;如通…

android小米手机变慢,手机越来越慢怎么破?小米手机七大加速绝招

由于安卓手机的运行机制&#xff0c;就算是3GB的运行内存&#xff0c;在使用了一段时间之后就会感觉手机越来越慢。不过对于小米手机的用户来说&#xff0c;解决这个问题的方法有很多。 下面小编就来教给大家小米手机加速的七大绝招&#xff1a; 一、结束后台运行承训 MIUI V5长…

小米手机助手linux,小米手机助手怎么用?小米手机助手教程

随着小米手机在国内日渐火爆&#xff0c;小米的周边应用产品也越发受人关注。前段时间&#xff0c;小米官方推出了名为小米手机助手的软件应用。小米手机助手目前集成了手机系统升级、手机数据备份恢复、共享电脑网络、应用商城和游戏中心等功能。比较遗憾的是小米手机助手仅限…

小米手机计算机usb连接,小米5手机怎么连接电脑 USB调试方法教程

小米5手机怎么连接电脑 USB调试方法教程 来源&#xff1a;www.18183.com作者&#xff1a;皮卡时间&#xff1a;2016-05-23 小米5 USB调试在哪呢&#xff1f;相信这是后期很多朋友上手小米5之后会遇到的一个问题。我们知道对于智能安卓手机当连接电脑的时候就需要开启USB调式模式…

小米手机如何解锁

目录 1&#xff0c;申请解锁 2&#xff0c;刷入开发版 3&#xff0c;解锁 ​​​​​​​ 1&#xff0c;申请解锁 首先申请解锁&#xff0c;请用解锁手机所登入的小米帐号登入申请&#xff0c;地址&#xff1a;http://www.miui.com/unlock/ 填写 姓名、手机号、申请理由 并…